Function at 0x45a288
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff8
mov dword [esp], eax
mov esi, 0x45fbac
mov ebp, 0x45fba8
mov edi, 0x45fbb4
nop
nop
nop
nop
nop
mov eax, dword [esp]
xor edx, edx
push edx
push eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x3c]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [0x45fba4], eax
push 1
push 0x2000
mov eax, dword [0x45fba4]
mov eax, dword [eax + 0x50]
push eax
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [0x45fb9c], eax
mov eax, dword [0x45fba4]
mov edx, dword [0x45fb9c]
sub edx, dword [eax + 0x34]
mov dword [0x45fba0], edx
push 4
push 0x1000
mov eax, dword [0x45fba4]
mov eax, dword [eax + 0x54]
push eax
mov eax, dword [0x45fb9c]
push eax
call sub.kernel32.dll_VirtualAlloc_1
mov dword [0x45fbb0], eax
mov eax, dword [0x45fba4]
mov ecx, dword [eax + 0x54]
mov edx, dword [0x45fbb0]
mov eax, dword [esp]
call fcn.00402c78
push 0x45fbbc
push 2
mov eax, dword [0x45fba4]
mov eax, dword [eax + 0x54]
push eax
mov eax, dword [0x45fbb0]
push eax
call sub.kernel32.dll_VirtualProtect
mov eax, dword [0x45fba4]
add eax, 0x18
mov edx, dword [0x45fba4]
movzx edx, word [edx + 0x14]
add eax, edx
mov dword [ebp], eax
mov eax, dword [0x45fba4]
movzx ebx, word [eax + 6]
dec ebx
test ebx, ebx
jl 0x45a40e
inc ebx
mov dword [esi], 0
nop
mov eax, dword [esi]
lea eax, [eax + eax*4]
mov edx, dword [ebp]
mov edx, dword [edx + eax*8 + 8]
mov dword [edi], edx
mov edx, dword [ebp]
mov eax, dword [edx + eax*8 + 0x10]
mov dword [0x45fbb8], eax
mov eax, dword [edi]
cmp eax, dword [0x45fbb8]
jae 0x45a3b0
mov eax, dword [0x45fbb8]
xor dword [edi], eax
mov eax, dword [edi]
xor dword [0x45fbb8], eax
mov eax, dword [0x45fbb8]
xor dword [edi], eax
push 4
push 0x1000
mov eax, dword [edi]
push eax
mov eax, dword [esi]
lea eax, [eax + eax*4]
mov edx, dword [ebp]
mov eax, dword [edx + eax*8 + 0xc]
add eax, dword [0x45fb9c]
push eax
call sub.kernel32.dll_VirtualAlloc_1
mov dword [0x45fbb0], eax
mov eax, dword [0x45fbb0]
xor ecx, ecx
mov edx, dword [edi]
call fcn.00402f0c
mov eax, dword [esi]
lea eax, [eax + eax*4]
mov edx, dword [ebp]
mov eax, dword [edx + eax*8 + 0x14]
add eax, dword [esp]
mov edx, dword [0x45fbb0]
mov ecx, dword [0x45fbb8]
call fcn.00402c78
inc dword [esi]
dec ebx
jne 0x45a375
mov eax, dword [0x45fba4]
mov eax, dword [eax + 0x28]
add eax, dword [0x45fb9c]
mov dword [0x45fbc4], eax
mov eax, dword [0x45fb9c]
mov dword [0x45fbc0], eax
push 0
mov eax, 0x45fbc8
mov ecx, 1
mov edx, dword [0x459d50]
call fcn.00405600
add esp, 4
mov eax, dword [0x45fba4]
mov eax, dword [eax + 0xa0]
test eax, eax
je 0x45a45f
add eax, dword [0x45fb9c]
call fcn.0045a04c
mov eax, dword [0x45fba4]
mov eax, dword [eax + 0x80]
test eax, eax
je 0x45a479
add eax, dword [0x45fb9c]
call fcn.0045a0f4
mov eax, dword [0x45fba4]
movzx ebx, word [eax + 6]
dec ebx
test ebx, ebx
jl 0x45a4c6
inc ebx
mov dword [esi], 0
nop
push 0x45fbbc
mov edi, dword [esi]
lea edi, [edi + edi*4]
mov eax, dword [ebp]
mov eax, dword [eax + edi*8 + 0x24]
call 0x459f28
push eax
mov eax, dword [ebp]
mov eax, dword [eax + edi*8 + 8]
push eax
mov eax, dword [ebp]
mov eax, dword [eax + edi*8 + 0xc]
add eax, dword [0x45fb9c]
push eax
call sub.kernel32.dll_VirtualProtect
inc dword [esi]
dec ebx
jne 0x45a48e
cmp dword [0x45fbc4], 0
je 0x45a4f6
nop
push 0
push 1
mov eax, dword [0x45fb9c]
push eax
call dword [0x45fbc4]
test al, al
jne 0x45a4f6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
mov dword [0x45fbc4], eax
mov eax, dword [0x45fba4]
mov eax, dword [eax + 0x78]
test eax, eax
je 0x45a516
mov edx, dword [0x45fba4]
mov edx, dword [edx + 0x7c]
add eax, dword [0x45fb9c]
call fcn.00459ff8
mov eax, dword [esp + 4]
pop ecx
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret