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

Disassembly:
test dword [esi + edi*8 - 0x2fc40001], edi
jge 0x477f35
mov dword [ebp - 0x19d4], 0xffffffff
jmp 0x477f3f
mov dword [ebp - 0x19d4], 1
mov ecx, dword [ebp - 0x19d4]
mov dword [ebp - 0x19d8], ecx
cmp dword [ebp - 0x19d8], 0
jne 0x477f94
push edi
push esi
add esp, 4
sub edi, 0xed07
jmp 0x477f67
pop edi
push edi
push esi
add esp, 4
and edi, 0xe4ed
add edi, 0x18629
sub edi, 0x5934
and edi, 0xcd1f
pop edi
mov edx, dword [ebp - 0x5ec]
mov dword [ebp - 0x8c0], edx
jmp 0x477ffc
push edi
call 0x477fa5
add byte [ebx + 0x41], al
dec esi
dec ebp
push eax
push eax
xor ecx, dword [edx + 0x45]
dec ecx
add esp, 4
pop edi
push ebx
add ebx, 0x4051
and ebx, 0x70d0
call 0x477fc2
add byte [0x4e483d37], bh
cmp al, 0x83
les eax, [ebx + ebx*2]
mov eax, dword [ebp - 0x5ec]
mov ecx, dword [eax]
mov dword [ebp - 0x5ec], ecx
mov edx, dword [ebp - 0x5ec]
cmp edx, dword [ebp - 0xefc]
je 0x477ff2
mov eax, dword [ebp - 0x5ec]
cmp dword [eax + 0x30], 0
jne 0x477da8
mov dword [ebp - 0x8c0], 0
push edx
push eax
add esp, 4
xor edx, 0x17a3d
pop edx
push edx
add edx, 0x3d98
xor edx, 0x6cb8
call 0x478024
add byte [eax + 0x42], al
cmp al, 0x4b
cmp eax, 0x464e3d44
add esp, 4
and edx, 0x10811
pop edx
cmp dword [ebp - 0x8c0], 0
jne 0x478078
push ebx
push ebx
add esp, 4
or ebx, 0x16e0e
or ebx, 0x17b5c
add ebx, 0x589a
pop ebx
push edi
sub edi, 0x14eff
sub edi, 0xb20
sub edi, 0x112e4
add edi, 0x46b9
pop edi
mov dword [ebp - 0xc68], 0
jmp 0x478ba0
push edx
push esi
add esp, 4
and edx, 0x7e5d
and edx, 0x11e63
xor edx, 0xd84f
and edx, 0x3c85
pop edx
push edi
sub edi, 0x616d
xor edi, 0x80ed
add edi, 0xc9ce
pop edi
mov ecx, dword [ebp - 0x8c0]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3f0], edx
mov dword [ebp - 0x8d0], 0
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x19dc], eax
cmp dword [ebp - 0x19dc], 0
jne 0x4780e9
mov ecx, dword [ebp - 0x8d0]
mov dword [ebp - 0x4a0], ecx
jmp 0x4783da
mov edx, dword [ebp - 0x19dc]
mov eax, dword [ebp - 0x3f0]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x19e0], eax
jne 0x478111
mov ecx, dword [ebp - 0x8d0]
mov dword [ebp - 0x4a0], ecx
jmp 0x4783da
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x19e0]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x19e4], edx
cmp dword [ebp - 0x19e4], 0
jne 0x478143
mov eax, dword [ebp - 0x8d0]
mov dword [ebp - 0x4a0], eax
jmp 0x4783da
mov ecx, dword [ebp - 0x3f0]
add ecx, dword [ebp - 0x19e4]
mov dword [ebp - 0x8c4], ecx
jne 0x478168
mov edx, dword [ebp - 0x8d0]
mov dword [ebp - 0x4a0], edx
jmp 0x4783da
mov eax, dword [ebp - 0x8c4]
mov ecx, dword [ebp - 0x3f0]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x23e8], ecx
mov edx, dword [ebp - 0x8c4]
mov eax, dword [ebp - 0x3f0]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x23ec], eax
mov ecx, dword [ebp - 0x8c4]
mov edx, dword [ebp - 0x3f0]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x23f0], edx
mov dword [ebp - 0x8c8], 0
jmp 0x4781c2
mov ecx, dword [ebp - 0x8c4]
mov edx, dword [ebp - 0x8c8]
cmp edx, dword [ecx + 0x18]
jae 0x4783ce
mov eax, dword [ebp - 0x8c8]
mov ecx, dword [ebp - 0x23e8]
mov edx, dword [ebp - 0x3f0]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x8cc], edx
mov eax, dword [ebp - 0x8c8]
mov ecx, dword [ebp - 0x23ec]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x23f0]
mov ecx, dword [ebp - 0x3f0]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x23f4], ecx
mov dword [ebp - 0x1f8], 0
jmp 0x478232
mov eax, dword [ebp - 0x8cc]
add eax, dword [ebp - 0x1f8]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4782e4
mov edx, dword [ebp - 0x1f8]
movsx eax, byte [ebp + edx - 0xb5c]
test eax, eax
je 0x4782e4
push edx
push ecx
add esp, 4
and edx, 0xc323
or edx, 0x70a6
pop edx
push eax
xor eax, 0x2dc3
and eax, 0x177a1
pop eax
push ecx
push esi
add esp, 4
and ecx, 0x1556f
or ecx, 0xabad
pop ecx
mov ecx, dword [ebp - 0x8cc]
add ecx, dword [ebp - 0x1f8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1f8]
movsx ecx, byte [ebp + eax - 0xb5c]
cmp edx, ecx
je 0x4782d6
mov edx, dword [ebp - 0x8cc]
add edx, dword [ebp - 0x1f8]
movsx eax, byte [edx]
add al, byte [ebx - 0x7274df10]
or dh, bh
invalid
dec dword [edi]
mov esi, 0xf4a40d94
invalid
invalid
cmp eax, edx
jne 0x4782dd
jmp 0x478223
jmp 0x4782e4
push edi
push esi
add esp, 4
jmp 0x4782ee
or edi, 0x6f46
call fcn.00478300
add byte [esi + ecx*2], bh
cmp bh, byte [ecx]
push eax
xor eax, 0xe804c483
add esp, 4
call 0x478312
add byte [ebp + edi + 0x38], cl
dec ebp
inc ecx
xor eax, 0x8340414e
les eax, [edi + ebx*2]
mov eax, dword [ebp - 0x8cc]
add eax, dword [ebp - 0x1f8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1f8]
movsx eax, byte [ebp + edx - 0xb5c]
cmp ecx, eax
jne 0x478343
mov dword [ebp - 0xf00], 0
jmp 0x4783b2
push eax
and eax, 0x105ec
or eax, 0xead4
sub eax, 0x5cd4
xor eax, 0x610c
pop eax
push edx
call fcn.0047836b
add byte [ebx + ecx*2], dh
xor al, 0x36
dec eax
dec ebx
add esp, 4
add esp, 4
mov eax, dword [ebp - 0x8d0]
mov dword [ebp - 0x4a0], eax