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

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 4], 0
push edi
mov edi, ecx
cmp esi, 0x101
ja 0x46ec14
cmp esi, 0x100
jae 0x46ebfb
lea eax, [esi - 2]
cmp eax, 0xa4
ja case.0x46eeb7.772
movzx eax, byte [eax + 0x46effc]
jmp dword [eax*4 + 0x46ef98]
mov eax, dword [edi]
call dword [eax + 0x2c]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi]
call dword [eax + 0x30]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
push dword [edi + 0x48]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x46e9ff
mov edx, dword [edi]
lea eax, [edi + 0x10]
push eax
mov ecx, edi
call dword [edx + 0x158]
mov ecx, dword [edi + 0x44]
test ecx, ecx
je 0x46ea18
cmp dword [ecx + 0x48], 0
je 0x46ea18
mov edx, dword [ecx]
lea eax, [edi + 0x30]
push eax
call dword [edx + 0x158]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x34]
mov ecx, dword [0x4e030c]
push edi
call fcn.0046fa50
mov dword [edi + 0x48], 0
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x38]
mov edx, dword [edi]
mov ecx, edi
push eax
push 0
mov dword [ebp - 4], eax
call dword [edx + 0x1a0]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x3c]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi]
call dword [eax + 0x44]
mov edx, dword [edi]
mov ecx, edi
push eax
push 0
mov dword [ebp - 4], eax
call dword [edx + 0x1a0]
mov eax, dword [ebp - 4]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi]
call dword [eax + 0x48]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x4c]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0x10]
mov eax, ecx
mov edx, dword [edi]
shr eax, 0x10
push eax
push ecx
push dword [ebp + 0xc]
mov ecx, edi
call dword [edx + 0x50]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0x10]
mov eax, ecx
mov edx, dword [edi]
shr eax, 0x10
push eax
movzx eax, cx
mov ecx, edi
push eax
call dword [edx + 0x54]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x58]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi]
push dword [ebp + 0x10]
call dword [eax + 0x5c]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0x10]
mov eax, ecx
mov edx, dword [edi]
shr eax, 0x10
push eax
push ecx
push dword [ebp + 0xc]
mov ecx, edi
call dword [edx + 0x64]
jmp 0x46ea7b
mov eax, dword [edi]
lea ecx, [ebp - 4]
push ecx
push dword [ebp + 0x10]
mov ecx, edi
call dword [eax + 0x6c]
push dword [ebp - 4]
jmp 0x46ef7e
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x70]
jmp 0x46ea7b
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x74]
jmp 0x46ea7b
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x80]
jmp 0x46ea7b
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x84]
jmp 0x46ea7b
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x8c]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0xc]
mov eax, ecx
push dword [ebp + 0x10]
mov edx, dword [edi]
shr eax, 0x10
push eax
movzx eax, cx
mov ecx, edi
push eax
call dword [edx + 0x90]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi]
push dword [ebp + 0x10]
call dword [eax + 0x9c]
jmp 0x46ec3c
mov eax, dword [edi]
push dword [ebp + 0x10]
call dword [eax + 0x98]
jmp 0x46ec3c
push dword [ebp + 0xc]
mov eax, dword [edi]
push esi
call dword [eax + 0xcc]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
push esi
call dword [eax + 0xbc]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
cmp esi, 0x110
ja 0x46ecbb
je 0x46ec54
cmp esi, 0x102
jne case.0x46eeb7.772
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x94]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
call dword [eax + 0x1a0]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
cmp dword [edi + 0x10], 0x80000000
mov byte [edi + 0x69], 1
je 0x46ec9b
mov eax, dword [edi]
push 0xfffffffffffffff0
call dword [eax + 0x1a4]
test eax, 0x40000000
jne 0x46ec92
mov ecx, dword [edi + 0x14]
mov eax, dword [edi + 0x1c]
mov edx, dword [edi + 0x10]
sub eax, ecx
mov esi, dword [edi]
push 0
push eax
mov eax, dword [edi + 0x18]
sub eax, edx
push eax
push ecx
push edx
mov ecx, edi
call dword [esi + 0x1b8]
cmp dword [edi + 0x10], 0x80000000
jne 0x46eca9
mov edx, dword [edi]
lea eax, [edi + 0x20]
push eax
mov ecx, edi
call dword [edx + 0x158]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp + 0x10]
call dword [eax + 0x28]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
cmp esi, 0x212
ja 0x46ee50
cmp esi, 0x211
jae 0x46ee3a
lea eax, [esi - 0x111]
cmp eax, 0xfd
ja case.0x46eeb7.772
movzx eax, byte [eax + 0x46f0d4]
jmp dword [eax*4 + 0x46f0a4]
push dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov edx, dword [edi]
push eax
shr eax, 0x10
push eax
call dword [edx + 0x20]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x24]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x60]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x68]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0x10]
mov eax, ecx
mov edx, dword [edi]
shr eax, 0x10
push eax
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, ecx
shr eax, 0x10
push eax
push ecx
mov ecx, edi
call dword [edx + 0xa0]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0x10]
mov eax, ecx
mov edx, dword [edi]
shr eax, 0x10
push eax
push ecx
mov ecx, dword [ebp + 0xc]
mov eax, ecx
shr eax, 0x10
push eax
push ecx
mov ecx, edi
call dword [edx + 0xa4]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
push esi
call dword [eax + 0xb8]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0xc]
mov eax, ecx
push dword [ebp + 0x10]
mov edx, dword [edi]
shr eax, 0x10
push eax
movzx eax, cx
mov ecx, edi
push eax
push esi
call dword [edx + 0xd0]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0x10]
mov eax, ecx
mov edx, dword [edi]
shr eax, 0x10
push eax
movzx eax, cx
mov ecx, edi
push eax
push dword [ebp + 0xc]
push esi
call dword [edx + 0xc4]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0xc]
mov eax, ecx
push dword [ebp + 0x10]
mov edx, dword [edi]
shr eax, 0x10
push eax
movzx eax, cx
mov ecx, edi
push eax
call dword [edx + 0x78]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi]
lea ecx, [ebp - 4]
push ecx
push dword [ebp + 0x10]
mov ecx, edi
push dword [ebp + 0xc]
push esi
call dword [eax + 0xc8]
push dword [ebp - 4]
jmp 0x46ef7e
push dword [ebp + 0xc]
mov eax, dword [edi]
push esi
call dword [eax + 0xc0]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
cmp esi, 0x300
ja 0x46eea5
je 0x46ee93
mov eax, esi
sub eax, 0x218
je 0x46ee7e
sub eax, 0x1b
jne case.0x46eeb7.772
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x7c]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x40]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi]
call dword [eax + 0xb0]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
lea eax, [esi - 0x301]
cmp eax, 0x17
ja case.0x46eeb7.772
movzx eax, byte [eax + 0x46f1ec]
jmp dword [eax*4 + 0x46f1d4]
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
push esi
call dword [eax + 0xd8]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi]
push dword [ebp + 0xc]
call dword [eax + 0x88]
jmp 0x46ea7b
mov eax, dword [edi]
call dword [eax + 0xac]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi]
call dword [eax + 0xa8]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi]
call dword [eax + 0xb4]
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0xc
lea eax, [esi - 0x8000]
cmp eax, 0x3fff
ja 0x46ef3b
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
push esi
call dword [eax + 0xdc]
jmp 0x46ef78
cmp esi, 0x400
jb 0x46ef4b
cmp esi, 0x8000
jb 0x46ef58
lea eax, [esi - 0xc000]
cmp eax, 0x3fff
ja 0x46ef69
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
push esi
call dword [eax + 0xe0]
jmp 0x46ef78
push dword [ebp + 0x10]
mov eax, dword [edi]
push dword [ebp + 0xc]
push esi
call dword [eax + 0xe4]
mov ecx, eax
mov dword [ebp - 4], ecx
push ecx
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x1a0]
mov eax, dword [ebp - 4]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc