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

Disassembly:
push ebp
push edi
mov edi, ecx
push esi
push ebx
mov esi, edx
mov ebx, eax
xor ecx, ecx
sub esp, 0x3c
mov edx, dword [eax + 0x8c]
mov eax, 1
jmp 0x46d2bc
add ecx, 1
cmp ecx, 0x1b
je 0x46d48d
mov ebp, eax
shl ebp, cl
cmp edx, ebp
ja 0x46d2b0
add ecx, ecx
mov dword [ebx + 0x88], ecx
mov ecx, dword [ebx + 0xb8]
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x90], 0
test ecx, ecx
jne 0x46d30d
mov dword [esp + 4], 0x10000
mov dword [esp], edi
call dword [edi]
test eax, eax
mov dword [ebx + 0xb8], eax
je 0x46d464
add eax, 0x10000
mov dword [ebx + 0xb4], eax
mov edx, dword [ebx + 0x70]
xor eax, eax
test edx, edx
jne 0x46d471
mov edx, dword [ebx + 0x60]
mov ebp, dword [ebx + 0x4c]
add ebp, dword [ebx + 0x48]
mov dword [ebx + 0xd0], eax
test edx, edx
jne 0x46d497
mov dword [esp + 4], edx
mov dword [esp], edi
call dword [edi + 4]
mov eax, dword [ebx + 0x3bd08]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [edi + 4]
mov ecx, ebp
mov edx, 0x600
mov dword [ebx + 0x60], 0
shl edx, cl
mov dword [ebx + 0x3bd08], 0
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 0x28], edx
call dword [edi]
mov edx, dword [esp + 0x28]
mov dword [ebx + 0x60], eax
mov dword [esp], edi
mov dword [esp + 4], edx
call dword [edi]
test eax, eax
mov dword [ebx + 0x3bd08], eax
mov edx, dword [ebx + 0x60]
je 0x46d439
test edx, edx
je 0x46d439
mov eax, dword [ebx + 0xd0]
mov dword [ebx + 0x5c], ebp
mov edx, dword [ebx + 0x8c]
mov ecx, esi
lea edi, [edx + 0x1000]
cmp edx, 0x1000000
seta byte [ebx + 0x26e]
sub ecx, edx
cmp esi, edi
mov esi, 0x1000
cmovbe ecx, esi
test eax, eax
mov esi, dword [ebx + 0x2c]
je 0x46d4b3
mov eax, dword [esp + 0x50]
lea edi, [ebx + 0xd4]
mov dword [esp + 0x10], 0x111
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x14], eax
call fcn.0047a470
test eax, eax
jne 0x46d469
cmp dword [ebx + 0x8c], 0x1000000
mov dword [ebx], edi
jbe 0x46d41f
cmp dword [ebx + 0x27c], 0xfffffe
seta al
mov byte [ebx + 0x26e], al
lea eax, [ebx + 4]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0047a7d0
jmp 0x46d4f2
mov dword [esp + 4], edx
mov dword [esp], edi
call dword [edi + 4]
mov eax, dword [ebx + 0x3bd08]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [edi + 4]
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x3bd08], 0
mov eax, 2
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
mov ebp, dword [ebx + 0x64]
test ebp, ebp
jne 0x46d31a
xor eax, eax
cmp byte [ebx + 0x26d], 0
setne al
jmp 0x46d31a
mov ecx, 0x36
jmp 0x46d2c6
mov ecx, dword [ebx + 0x3bd08]
test ecx, ecx
je 0x46d331
cmp ebp, dword [ebx + 0x5c]
jne 0x46d331
jmp 0x46d3a4
mov eax, dword [esp + 0x50]
lea edi, [ebx + 0x250]
mov dword [esp + 0x10], 0x111
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x14], eax
call fcn.00477eb0
test eax, eax
je 0x46d464
lea eax, [ebx + 4]
mov dword [ebx], edi
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00478ef0
mov eax, dword [ebx + 0xb8]
lea edx, [ebx + 0x32794]
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov ecx, edx
mov dword [ebx + 0xb0], eax
lea eax, [ebx + 0x32614]
mov dword [ebx + 0xa0], 0
mov dword [ebx + 0xa4], 0
mov dword [ebx + 0x98], 0xffffffff
mov dword [ebx + 0xa8], 1
mov dword [ebx + 0xac], 0
mov byte [ebx + 0x9c], 0
mov dword [ebx + 0xc0], 0
mov dword [ebx + 0xc4], 0
mov dword [ebx + 0xc8], 0
lea esi, [esi]
lea edi, [edi]
mov dword [eax], 0x4000400
mov dword [eax + 4], 0x4000400
add eax, 0x40
mov dword [eax - 0x38], 0x4000400
mov dword [eax - 0x34], 0x4000400
add edx, 4
mov dword [eax - 0x30], 0x4000400
mov dword [eax - 0x2c], 0x4000400
mov dword [eax - 0x28], 0x4000400
mov dword [eax - 0x24], 0x4000400
mov dword [eax - 0x20], 0x4000400
mov dword [eax - 0x1c], 0x4000400
mov dword [eax - 0x18], 0x4000400
mov dword [eax - 0x14], 0x4000400
mov dword [eax - 0x10], 0x4000400
mov dword [eax - 0xc], 0x4000400
mov dword [eax - 8], 0x4000400
mov dword [eax - 4], 0x4000400
mov dword [eax + 0x1a0], 0x4000400
mov dword [eax + 0x1a4], 0x4000400
mov dword [eax + 0x1a8], 0x4000400
mov dword [eax + 0x1ac], 0x4000400
mov dword [eax + 0x1b0], 0x4000400
mov dword [eax + 0x1b4], 0x4000400
mov dword [eax + 0x1b8], 0x4000400
mov dword [eax + 0x1bc], 0x4000400
mov dword [eax + 0x1c0], 0x4000400
mov dword [eax + 0x1c4], 0x4000400
mov dword [eax + 0x1c8], 0x4000400
mov dword [eax + 0x1cc], 0x4000400
mov dword [eax + 0x1d0], 0x4000400
mov dword [eax + 0x1d4], 0x4000400
mov dword [eax + 0x1d8], 0x4000400
mov dword [eax + 0x1dc], 0x4000400
mov dword [edx - 4], 0x4000400
mov dword [edx + 0x14], 0x4000400
mov dword [edx + 0x2c], 0x4000400
mov dword [edx + 0x44], 0x4000400
cmp ecx, eax
jne 0x46d590
mov eax, dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x48]
mov edx, 0x300
mov edi, dword [ebx + 0x60]
add ecx, eax
mov dword [esp + 0x2c], eax
shl edx, cl
test edx, edx
je 0x46d786
mov eax, edi
lea ecx, [edx - 1]
shr eax, 1
and eax, 1
cmp ecx, 4
jbe 0x46dadb
test eax, eax
mov dword [esp + 0x28], 0
je 0x46d712
mov ecx, 0x400
mov dword [esp + 0x28], eax
mov word [edi], cx
mov ebp, edx
lea ecx, [edi + eax*2]
sub ebp, eax
xor eax, eax
mov esi, ebp
shr esi, 1
nop
mov dword [ecx + eax*4], 0x4000400
add eax, 1
cmp esi, eax
ja 0x46d720
mov ecx, dword [esp + 0x28]
mov eax, ebp
and eax, 0xfffffffe
add ecx, eax
cmp ebp, eax
je 0x46d786
lea eax, [ecx + 1]
mov ebp, 0x400
mov word [edi + ecx*2], bp
cmp edx, eax
jbe 0x46d786
mov esi, 0x400
mov word [edi + eax*2], si
lea eax, [ecx + 2]
cmp edx, eax
jbe 0x46d786
mov ebp, 0x400
mov word [edi + eax*2], bp
lea eax, [ecx + 3]
cmp edx, eax
jbe 0x46d786
add ecx, 4
mov esi, 0x400
cmp edx, ecx
mov word [edi + eax*2], si
jbe 0x46d786
mov ebp, 0x400
mov word [edi + ecx*2], bp
lea edx, [ebx + 0x32974]
xor ebp, ebp
mov dword [esp + 0x28], ebx
mov eax, edx
xor ecx, ecx
shr eax, 1
and eax, 1
je 0x46d7aa
mov esi, 0x400
mov ecx, 1
mov word [edx], si
mov edi, 0x40
mov ebx, dword [esp + 0x28]
sub edi, eax
lea eax, [ebp + eax + 0x194ba]
mov esi, edi
lea ebx, [ebx + eax*2]
shr esi, 1
xor eax, eax
mov dword [ebx + eax*4], 0x4000400
add eax, 1
cmp esi, eax
ja 0x46d7c5
mov eax, edi
and eax, 0xfffffffe
add ecx, eax
cmp edi, eax
je 0x46d7e7
mov ebx, 0x400
mov word [edx + ecx*2], bx
add ebp, 0x40
sub edx, 0xffffff80
cmp ebp, 0x100
jne 0x46d792
mov ebx, dword [esp + 0x28]
lea eax, [ebx + 0x32b74]
lea edx, [ebx + 0x32c58]
mov dword [eax], 0x4000400
add eax, 4
cmp eax, edx
jne 0x46d805
mov eax, ebx
xor edx, edx
mov dword [ebx + 0x32c78], 0x4000400
shr eax, 1
and eax, 1
je 0x46d835
mov ecx, 0x400
mov edx, eax
mov word [ebx + 0x32c7c], cx
mov esi, pe_nt_image_headers32
sub esi, eax
add eax, 0x1963e
mov edi, esi
lea ecx, [ebx + eax*2]
xor eax, eax
shr edi, 1
lea esi, [esi]
mov dword [ecx + eax*4], 0x4000400
add eax, 1
cmp edi, eax
ja 0x46d850
mov ecx, esi
and ecx, 0xfffffffe
cmp esi, ecx
lea eax, [edx + ecx]
je 0x46d877
mov edx, 0x400
mov word [ebx + eax*2 + 0x32c7c], dx
mov eax, ebx
xor edx, edx
shr eax, 1
and eax, 1
je 0x46d890
mov ebp, 0x400
mov edx, eax
mov word [ebx + 0x32d7c], bp
mov esi, pe_nt_image_headers32
sub esi, eax
add eax, 0x196be
mov edi, esi
lea ecx, [ebx + eax*2]
xor eax, eax
shr edi, 1
mov dword [ecx + eax*4], 0x4000400
add eax, 1
cmp edi, eax
ja 0x46d8a5
mov ecx, esi
and ecx, 0xfffffffe
cmp esi, ecx
lea eax, [edx + ecx]
je 0x46d8cc
mov edi, 0x400
mov word [ebx + eax*2 + 0x32d7c], di
mov eax, ebx
xor edx, edx
shr eax, 1
and eax, 1
je 0x46d8e5
mov esi, 0x400
mov edx, eax
mov word [ebx + 0x32e7c], si
mov esi, 0x100
sub esi, eax
add eax, 0x1973e
mov edi, esi
lea ecx, [ebx + eax*2]
xor eax, eax
shr edi, 1
lea esi, [esi]
mov dword [ecx + eax*4], 0x4000400
add eax, 1
cmp edi, eax
ja 0x46d900
mov ecx, esi
and ecx, 0xfffffffe
cmp esi, ecx
lea eax, [edx + ecx]
je 0x46d927
mov ecx, 0x400
mov word [ebx + eax*2 + 0x32e7c], cx
mov eax, ebx
xor edx, edx
mov dword [ebx + 0x374c0], 0x4000400
shr eax, 1
and eax, 1
je 0x46d94a
mov edx, 0x400
mov word [ebx + 0x374c4], dx
mov edx, eax
mov esi, pe_nt_image_headers32
sub esi, eax
add eax, 0x1ba62
mov edi, esi
lea ecx, [ebx + eax*2]
xor eax, eax
shr edi, 1
nop
mov dword [ecx + eax*4], 0x4000400
add eax, 1
cmp edi, eax
ja 0x46d960
mov ecx, esi
and ecx, 0xfffffffe
cmp esi, ecx
lea eax, [edx + ecx]
je 0x46d987
mov ebp, 0x400
mov word [ebx + eax*2 + 0x374c4], bp
mov eax, ebx
xor edx, edx
shr eax, 1
and eax, 1
je 0x46d9a0
mov edi, 0x400
mov edx, eax
mov word [ebx + 0x375c4], di
mov esi, pe_nt_image_headers32
sub esi, eax
add eax, 0x1bae2
mov edi, esi
lea ecx, [ebx + eax*2]
xor eax, eax
shr edi, 1
mov dword [ecx + eax*4], 0x4000400
add eax, 1
cmp edi, eax
ja 0x46d9b5
mov ecx, esi
and ecx, 0xfffffffe
cmp esi, ecx
lea eax, [edx + ecx]
je 0x46d9dc
mov esi, 0x400
mov word [ebx + eax*2 + 0x375c4], si
mov eax, ebx
xor edx, edx
shr eax, 1
and eax, 1
je 0x46d9f5
mov ecx, 0x400
mov edx, eax
mov word [ebx + 0x376c4], cx
mov esi, 0x100
sub esi, eax
add eax, 0x1bb62
mov edi, esi
lea ecx, [ebx + eax*2]
xor eax, eax
shr edi, 1
lea esi, [esi]
mov dword [ecx + eax*4], 0x4000400
add eax, 1
cmp edi, eax
ja 0x46da10
mov ecx, esi
and ecx, 0xfffffffe
cmp esi, ecx
lea eax, [ecx + edx]
je 0x46da37
mov edx, 0x400
mov word [ebx + eax*2 + 0x376c4], dx
mov ecx, dword [ebx + 0x50]
mov eax, 1
mov dword [ebx + 0x32c58], 0x4000400
mov edx, eax
mov dword [ebx + 0x32c5c], 0x4000400
mov dword [ebx + 0x32c60], 0x4000400
mov dword [ebx + 0x32c64], 0x4000400
mov dword [ebx + 0x32c68], 0x4000400
shl edx, cl
movzx ecx, byte [esp + 0x2c]
mov dword [ebx + 0x32c6c], 0x4000400
sub edx, 1
mov dword [ebx + 0x32c70], 0x4000400
mov dword [ebx + 0x32c74], 0x4000400
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x58], edx
shl eax, cl
sub eax, 1
mov dword [ebx + 0x54], eax
mov dword [esp], ebx
call fcn.0046d0b0
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x7c], 0
add esp, 0x3c
pop ebx
xor eax, eax
pop esi
pop edi
pop ebp
ret
xor ecx, ecx
jmp 0x46d73d