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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2c
mov ebp, dword [esp + 0x44]
lea eax, [ecx + 0x10]
mov esi, ecx
mov dword [esp + 0x28], eax
mov eax, ebp
mov ecx, ebp
and ebp, 1
not eax
and ecx, 0xf15f5ed8
and eax, 0xea0a127
or ecx, eax
mov eax, 0x4eeb512d
xor ecx, 0xea0a126
or ebp, ecx
cmp dword [esp + 0x4c], 0
mov ecx, 0xc46afd6
cmove ecx, eax
lea eax, [esi + 0x14]
mov dword [esp + 0x20], eax
lea eax, [esi + 0x18]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], eax
lea eax, [esi + 0x24]
mov dword [esp + 0x18], eax
lea eax, [esi + 0x28]
mov dword [esp + 0x14], eax
lea eax, [esi + 0x34]
mov dword [esp + 0x10], eax
lea eax, [esi + 0x38]
mov dword [esp + 0xc], eax
mov eax, 0xbcd1e4d9
nop word [eax + eax]
cmp eax, 0xeb1c6b56
jle 0x478770
cmp eax, 0xeb1c6b57
je 0x478985
cmp eax, 0x4eeb512d
je 0x478788
cmp eax, 0xc46afd6
jne 0x478710
mov dword [esi], 0x502144
mov dword [esi + 0x78], 0
mov dword [esi + 0x98], 0
mov dword [esi + 0x9c], 0
mov dword [esi + 0xa0], 0
mov dword [esi + 0x70], 0x5021ac
mov eax, 0x4eeb512d
jmp 0x478710
cmp eax, 0x9d32b47d
je 0x478870
cmp eax, 0xbcd1e4d9
jne 0x478710
mov eax, dword [esp + 0x24]
jmp 0x478710
mov dword [esp + 4], esi
mov edi, 0x1114102f
mov ebx, 0x996a7506
mov eax, dword [esp + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 4]
mov dword [ecx + eax], 0x502140
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 4]
lea ecx, [eax - 0x70]
mov dword [edx + eax - 4], ecx
mov eax, dword [0x517e3c]
mov ecx, dword [0x517e40]
lea edx, [eax - 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
mov eax, 0x996a7506
sete dl
sete byte [esp + 2]
cmove eax, edi
cmp ecx, 0xa
setl cl
setl byte [esp + 3]
cmovge eax, ebx
xor cl, dl
mov ecx, 0x66d4d674
cmovne eax, edi
nop word [eax + eax]
cmp ecx, 0x1114102e
jg 0x478830
cmp ecx, 0x996a7506
je 0x478869
cmp ecx, 0xb9dee703
jne 0x478810
mov ecx, eax
jmp 0x478810
cmp ecx, 0x1114102f
je 0x4788a0
cmp ecx, 0x66d4d674
jne 0x478810
movzx edx, byte [esp + 2]
movzx ecx, byte [esp + 3]
mov ebx, 0x996a7506
mov edi, 0xb9dee703
mov ch, dl
xor ch, cl
cmovne ebx, edi
test cl, cl
mov ecx, ebx
cmovne ecx, edi
test dl, dl
cmove ecx, ebx
jmp 0x478810
mov ecx, 0xb9dee703
jmp 0x478810
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 4]
lea ecx, [edx + eax]
mov eax, dword [edx + eax + 0xc]
mov edx, eax
xor eax, 2
and edx, 2
or eax, edx
push 0
push eax
call fcn.004958c0
mov eax, 0xeb1c6b57
jmp 0x478710
mov ecx, esi
push 0
push 0
mov edi, dword [esp + 0x30]
push edi
call fcn.00493d50
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 4]
mov dword [ecx + eax], 0x502140
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 4]
lea ecx, [eax - 0x70]
mov dword [edx + eax - 4], ecx
mov dword [esi + 0x10], 0x5020c0
push 8
call fcn.0049d630
add esp, 4
mov ebx, eax
push 1
call fcn.0049e4ad
add esp, 4
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [ebx + 4], eax
mov dword [esi + 0x44], ebx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], ecx
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x2c], edx
mov dword [esi + 0x30], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x3c], edx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x18], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x10], 0x502080
mov ecx, edi
push 0
push 0
call fcn.00484200
mov ecx, edi
push dword [esp + 0x48]
push ebp
push dword [esp + 0x48]
call fcn.00493ef0
test eax, eax
mov eax, 0xeb1c6b57
mov ecx, 0x9d32b47d
cmove eax, ecx
jmp 0x478710
mov eax, esi
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret 0x10