Function at 0x499070
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffffe64
push ebx
push esi
push edi
mov eax, dword [ebp + 0xc]
push eax
call sym.ollydbg.exe__Findprocbegin
pop ecx
cmp eax, dword [ebp + 8]
jne 0x49909c
mov eax, 1
jmp 0x499377
xor edx, edx
mov eax, 0x4f55cc
mov ecx, dword [eax]
cmp ecx, dword [ebp + 8]
jne 0x49911d
mov ecx, dword [eax + 0xc]
cmp ecx, dword [ebp + 0xc]
jne 0x4990ba
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x10], ecx
jmp 0x4990d5
cmp dword [eax + 8], 0
je 0x49911d
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp + 0xc]
ja 0x4990d0
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp + 0xc]
jae 0x49911d
xor ecx, ecx
mov dword [ebp - 0x10], ecx
test edx, edx
jle 0x499115
mov esi, eax
lea edi, [ebp - 0x119c]
mov ecx, 5
mov eax, edx
rep movsd dword es:[edi], dword [esi]
shl eax, 2
lea eax, [eax + eax*4]
push eax
push 0x4f55cc
push 0x4f55e0
call fcn.004a3554
add esp, 0xc
lea esi, [ebp - 0x119c]
mov edi, 0x4f55cc
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
jmp 0x499377
inc edx
add eax, 0x14
cmp edx, 0x800
jl 0x4990a3
xor edx, edx
xor eax, eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x20], eax
xor edx, edx
xor esi, esi
mov dword [ebp - 0x24], edx
xor eax, eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp + 8]
mov dword [ebp - 0x828], edx
mov dword [ebp - 8], 1
mov eax, dword [ebp - 8]
lea edx, [ebp + eax*4 - 0x828]
mov dword [ebp - 0x28], edx
cmp dword [ebp - 8], 0
jle 0x499328
dec dword [ebp - 8]
add dword [ebp - 0x28], 0xfffffffc
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ecx]
cmp ebx, dword [ebp + 0xc]
jne 0x499198
mov dword [ebp - 0x10], 1
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
jmp 0x499328
cmp ebx, dword [ebp - 0x18]
jae 0x4991a2
mov dword [ebp - 0x18], ebx
jmp 0x4991aa
cmp ebx, dword [ebp - 0x1c]
jbe 0x4991aa
mov dword [ebp - 0x1c], ebx
cmp ebx, dword [ebp - 0x20]
jb 0x4991b9
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x24]
cmp ebx, edx
jb 0x499228
cmp dword [ebp - 0xc], 3
jg 0x49915c
test esi, esi
je 0x4991c9
push esi
call sub.KERNEL32.DLL_GlobalFree
push ebx
call sym.ollydbg.exe__Findmemory
pop ecx
mov edi, eax
test edi, edi
jne 0x4991dd
xor eax, eax
jmp 0x499377
mov edx, dword [edi + 4]
push edx
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov esi, eax
test esi, esi
jne 0x4991f5
xor eax, eax
jmp 0x499377
mov edx, dword [edi]
mov dword [ebp - 0x20], edx
push 3
mov ecx, dword [edi + 4]
push ecx
mov eax, dword [ebp - 0x20]
push eax
push esi
call sym.ollydbg.exe__Readmemory
add esp, 0x10
mov dword [ebp - 0x24], eax
mov edx, dword [edi + 4]
cmp edx, dword [ebp - 0x24]
je 0x499225
push esi
call sub.KERNEL32.DLL_GlobalFree
xor eax, eax
jmp 0x499377
inc dword [ebp - 0xc]
mov edi, ebx
sub edi, dword [ebp - 0x20]
xor eax, eax
mov al, byte [esi + edi]
cmp eax, 0xcc
je 0x49915c
push 0
lea edx, [ebp - 0x1188]
push 0
push edx
push 0
push ebx
mov ecx, dword [ebp - 0x24]
mov eax, edi
sub ecx, edi
add eax, esi
push ecx
push eax
call sym.ollydbg.exe__Disasm
add esp, 0x1c
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0xb84]
and edx, 0xf0
mov dword [ebp - 4], edx
cmp dword [ebp - 0xb50], 0
jne 0x49915c
cmp dword [ebp - 4], 0xf0
je 0x49915c
cmp dword [ebp - 4], 0x80
je 0x49929c
cmp dword [ebp - 4], 0xa0
jne 0x4992a5
mov byte [esi + edi], 0xcc
jmp 0x49915c
cmp dword [ebp - 4], 0x50
je 0x4992c5
cmp dword [ebp - 4], 0x60
je 0x4992c5
mov byte [esi + edi], 0xcc
add ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], ebx
inc dword [ebp - 8]
jmp 0x49915c
push 0
lea eax, [ebp - 0x1188]
push 4
push eax
push 0
push ebx
mov edx, dword [ebp - 0x24]
mov ecx, edi
sub edx, edi
add ecx, esi
push edx
push ecx
call sym.ollydbg.exe__Disasm
add esp, 0x1c
mov eax, dword [ebp - 0xb58]
test eax, eax
je 0x4992fc
mov edx, dword [ebp - 0x28]
mov dword [edx], eax
inc dword [ebp - 8]
add dword [ebp - 0x28], 4
cmp dword [ebp - 4], 0x60
jne 0x49931a
cmp dword [ebp - 8], 0x200
jge 0x49931a
add ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], ebx
inc dword [ebp - 8]
add dword [ebp - 0x28], 4
mov byte [esi + edi], 0xcc
cmp dword [ebp - 8], 0
jg 0x499173
test esi, esi
je 0x499332
push esi
call sub.KERNEL32.DLL_GlobalFree
push 0xa000
push 0x4f55cc
push 0x4f55e0
call fcn.004a3554
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [0x4f55cc], eax
mov edx, dword [ebp - 0x18]
mov dword [0x4f55d0], edx
mov ecx, dword [ebp - 0x1c]
mov dword [0x4f55d4], ecx
mov eax, dword [ebp + 0xc]
mov dword [0x4f55d8], eax
mov edx, dword [ebp - 0x10]
mov dword [0x4f55dc], edx
mov eax, dword [ebp - 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret