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

Disassembly:
je 0x4781e0
cmp eax, 0x800000
je 0x4781d3
cmp eax, 0x1000000
je 0x4781f9
mov eax, 0xffffffe9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xb0], 1
jmp 0x478200
mov eax, dword [ecx + 8]
test eax, 0x1800000
je 0x4781f9
shr eax, 0x17
and eax, 1
mov dword [esp + 0xb0], eax
jmp 0x478200
mov dword [esp + 0xb0], edx
test ebx, 0x700000
jne 0x47820d
mov eax, dword [ecx + 8]
jmp 0x47820f
mov eax, ebx
and eax, 0x700000
cmp eax, 0x300000
ja 0x47826c
je 0x478265
cmp eax, edx
je 0x478265
cmp eax, 0x100000
je 0x47825e
cmp eax, 0x200000
jne 0x4781c7
mov eax, 0xa
mov dword [esp + 0x70], edx
cmp eax, 0xff
jle 0x478292
mov edx, eax
sar edx, 8
mov byte [esp + 0x84], dl
mov dword [esp + 0x74], 2
mov byte [esp + 0x85], al
xor edx, edx
jmp 0x4782a1
mov eax, 0xd
jmp 0x478234
mov eax, 0xd0a
jmp 0x478234
cmp eax, 0x400000
je 0x478288
cmp eax, 0x500000
jne 0x4781c7
mov dword [esp + 0x70], 2
jmp 0x4782a1
mov dword [esp + 0x70], 1
jmp 0x4782a1
mov dword [esp + 0x74], 1
mov byte [esp + 0x84], al
cmp edi, edx
je 0x4782b7
test byte [ecx + 0xc], 1
je 0x4782b7
mov eax, 0xfffffff3
pop edi
pop esi
pop ebx
mov esp, ebp
mov eax, dword [ecx + 8]
and eax, 7
mov dword [esp + 0xf0], eax
mov eax, 0x55555556
imul dword [ebp + 0x20]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edi, [eax + eax*2]
movzx eax, word [ecx + 0x12]
test ax, ax
je 0x478326
mov ecx, eax
mov eax, 0x55555556
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x478326
lea edi, [ecx + ecx*2 + 3]
lea ecx, [edi*4]
push ecx
call dword [0x49d2d0]
add esp, 4
mov dword [esp + 0x64], eax
test eax, eax
jne 0x47831c
mov eax, 0xfffffffa
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x30], 1
jmp 0x47832d
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x64], edx
lea ecx, [edi + edi]
mov eax, 0x55555556
imul ecx
mov ecx, dword [esp + 0x18]
and al, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], edi
mov dword [esp + 0x90], 0
mov dword [esp + 0xd4], 0xffffffff
movzx eax, word [ecx + 0x10]
lea eax, [eax + eax + 2]
mov dword [esp + 0x2c], eax
cmp eax, dword [ebp + 0x20]
jle 0x478375
mov dword [esp + 0x2c], edi
cmp dword [esp + 0x64], 0
je 0x4783ad
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x2c]
lea ecx, [edx + edi*4]
cdq
sub eax, edx
sar eax, 1
mov edx, 1
sub edx, eax
lea eax, [ecx + edx*4]
sub ecx, 4
cmp ecx, eax
jb 0x4783ad
lea ecx, [ecx]
mov dword [ecx], 0xffffffff
sub ecx, 4
cmp ecx, eax
jae 0x4783a0
cmp dword [esp + 0x44], 0
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x18]
jne 0x47840d
test byte [edx + 0xc], 2
je 0x4783f1
movzx eax, word [edx + 0x14]
mov ecx, eax
and ecx, 0xff
shr eax, 8
and eax, 1
mov dword [esp + 0x14], ecx
mov dword [esp + 0x54], eax
je 0x47840d
mov eax, ecx
mov ecx, dword [esp + 0x88]
movzx eax, byte [ecx + eax]
mov dword [esp + 0x14], eax
jmp 0x47840d
cmp dword [esp + 0x34], 0
jne 0x47840d
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x47840d
test byte [eax + 4], 1
je 0x47840d
add eax, 8
mov dword [esp + 0x24], eax
test byte [edx + 0xc], 4
je 0x47843d
movzx eax, word [edx + 0x16]
mov edx, dword [esp + 0x10]
mov ecx, eax
and ecx, 0xff
shr eax, 8
and eax, 1
mov dword [esp + 0x48], eax
movzx eax, byte [edx + ecx + 0x100]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
and ebx, 0x4000000
mov dword [esp + 0x40], ebx
jmp 0x478450