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

Disassembly:
sub esp, 0x58
mov eax, dword [esp + 0x5c]
push ebx
mov ebx, dword [esp + 0x68]
push ebp
mov ebp, dword [esp + 0x68]
push esi
push edi
mov dword [esp + 0x10], edx
mov edx, dword [ebx]
mov edi, ecx
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [esp + 0x7c]
mov dword [ebx], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
mov dword [eax], 0
jmp case.0x480811.6
mov ecx, dword [ebx]
mov esi, dword [esp + 0x18]
mov eax, dword [edi]
sub esi, ecx
mov dword [esp + 0x74], esi
cmp eax, 6
jne 0x4807fe
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x6c]
sub eax, dword [ecx]
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], eax
test esi, esi
jne 0x480705
test eax, eax
je 0x480ca6
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
push edx
push eax
push 0
lea ecx, [esp + 0x7c]
push ecx
push ebp
lea edx, [esp + 0x88]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [edi + 0x68]
call fcn.004800b0
mov esi, dword [esp + 0x74]
mov edx, dword [esp + 0x10]
push esi
lea ecx, [edi + 0x1a0]
mov dword [esp + 0x18], eax
call fcn.0047fa50
mov eax, dword [esp + 0x70]
add dword [ebx], eax
mov ecx, dword [esp + 0x6c]
add ebp, eax
add dword [edi + 0x18], eax
mov edx, 0
adc dword [edi + 0x1c], edx
add dword [ecx], esi
add dword [esp + 0x10], esi
add dword [edi + 0x20], esi
adc dword [edi + 0x24], edx
cmp dword [esp + 0x14], edx
jne 0x480cbc
mov ecx, dword [esp + 0x7c]
cmp dword [ecx], 1
jne 0x4807e4
mov cx, word [edi + 0x10]
call fcn.0047fa00
xor edx, edx
xor esi, esi
add eax, dword [edi + 0x14]
lea ecx, [esp + 0x28]
adc edx, esi
add eax, dword [edi + 0x18]
adc edx, dword [edi + 0x1c]
push edx
push eax
call fcn.0047f9a0
mov edx, dword [edi + 0x24]
mov esi, eax
mov eax, dword [edi + 0x20]
push edx
push eax
lea ecx, [esp + esi + 0x30]
call fcn.0047f9a0
add esi, eax
push esi
lea ecx, [edi + 0x218]
lea edx, [esp + 0x2c]
call fcn.0047f520
add dword [edi + 0x30], esi
mov eax, 0
mov dword [edi], 7
adc dword [edi + 0x34], eax
add dword [edi + 0x28], 1
mov dword [edi + 4], eax
mov dword [edi + 8], eax
adc dword [edi + 0x2c], eax
jmp case.0x480811.6
test eax, eax
jne case.0x480811.6
test esi, esi
jne case.0x480811.6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 0x14
xor edx, edx
cmp esi, edx
je 0x480cca
cmp eax, 7
ja case.0x480811.6
jmp dword [eax*4 + 0x480cf0]
mov eax, dword [edi + 4]
cmp eax, 0xc
jae 0x480849
cmp eax, 6
jae 0x480834
mov cl, byte [ebp]
cmp cl, byte [eax + 0x491fd0]
jne 0x480ce0
mov dl, byte [ebp]
mov byte [eax + edi + 0x2a0], dl
inc dword [edi + 4]
inc ebp
inc dword [ebx]
jmp case.0x480811.6
lea edx, [edi + 0x2a0]
lea ecx, [edi + 0x10]
call fcn.00480270
xor esi, esi
cmp eax, esi
jne 0x480ce5
add dword [edi + 0x48], 1
lea ecx, [edi + 0x218]
mov dword [edi], 5
adc dword [edi + 0x4c], esi
call fcn.0047ea00
mov dword [edi + 0x30], esi
mov dword [edi + 0x34], esi
mov dword [edi + 0x28], esi
mov dword [edi + 0x2c], esi
mov dword [edi + 4], esi
jmp case.0x480811.6
mov ecx, dword [edi + 4]
cmp ecx, edx
jne 0x480921
mov al, byte [ebp]
mov byte [edi + 0x2a0], al
inc dword [edi + 4]
inc dword [ebx]
inc ebp
cmp byte [edi + 0x2a0], dl
jne 0x48090b
mov ecx, dword [edi + 0x2c]
mov edx, dword [edi + 0x28]
push ecx
push edx
lea ecx, [edi + 0x2a1]
call fcn.0047f9a0
inc eax
xor ecx, ecx
add dword [edi + 0x30], eax
mov dword [edi + 0x3c], ecx
lea edx, [edi + 0x280]
adc dword [edi + 0x34], ecx
lea ecx, [edi + 0x218]
mov dword [edi + 0xc], eax
mov dword [edi + 0x38], eax
call fcn.0047f5d0
lea ecx, [edi + 0x218]
call fcn.0047ea00
mov eax, dword [edi + 0xc]
push eax
lea edx, [edi + 0x2a0]
or ecx, 0xffffffff
call fcn.00482eb0
mov dword [edi + 0x60], eax
mov dword [edi], 1
movzx ecx, byte [edi + 0x2a0]
lea edx, [ecx*4 + 4]
mov dword [edi + 0x14], edx
jmp case.0x480811.6
mov eax, dword [edi + 0x14]
cmp ecx, eax
je 0x480958
sub eax, ecx
mov dword [esp + 0x74], eax
cmp eax, esi
jbe 0x480936
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x74]
push esi
lea eax, [ecx + edi + 0x2a0]
push ebp
push eax
call sub.MSVCRT.dll_memcpy
add dword [edi + 4], esi
add dword [ebx], esi
add esp, 0xc
add ebp, esi
jmp case.0x480811.6
lea edx, [edi + 0x2a0]
lea ecx, [edi + 0x108]
call fcn.00480330
xor ecx, ecx
cmp eax, ecx
jne 0x480ce5
add dword [edi + 0x58], 1
movzx edx, word [edi + 0x10]
adc dword [edi + 0x5c], ecx
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], ecx
and edx, 0xf
lea ecx, [edi + 0x1a0]
mov dword [edi], 6
call fcn.0047fa20
lea ecx, [edi + 0x68]
lea edx, [edi + 0x108]
call fcn.004804b0
test eax, eax
je case.0x480811.6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 0x14
mov eax, dword [edi + 8]
add eax, dword [edi + 0x18]
and eax, 3
or eax, edx
je 0x4809ec
inc ecx
mov dword [ebx], ecx
inc dword [edi + 8]
mov cl, byte [ebp]
inc ebp
test cl, cl
je case.0x480811.6
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x58
ret 0x14
mov cx, word [edi + 0x10]
call fcn.0047fa00
mov ecx, dword [edi + 4]
mov esi, eax
sub esi, ecx
mov dword [esp + 0x70], eax
je 0x480a2a
mov eax, dword [esp + 0x74]
cmp esi, eax
jbe 0x480a0c
mov esi, eax
push esi
lea edx, [ecx + edi + 0x2a0]
push ebp
push edx
call sub.MSVCRT.dll_memcpy
add dword [edi + 4], esi
add dword [ebx], esi
add esp, 0xc
add ebp, esi
jmp case.0x480811.6
lea ecx, [edi + 0x1a0]
lea edx, [esp + 0x28]
mov dword [edi], 5
mov dword [edi + 4], 0
call fcn.0047fab0
test eax, eax
je case.0x480811.6
mov eax, dword [esp + 0x70]
lea esi, [edi + 0x2a0]
lea ecx, [esp + 0x28]
cmp eax, 4
jb 0x480a79
mov edx, dword [ecx]
cmp edx, dword [esi]
jne 0x4809dd
sub eax, 4
add esi, 4
add ecx, 4
cmp eax, 4
jae 0x480a61
test eax, eax
je case.0x480811.6
mov dl, byte [esi]
cmp dl, byte [ecx]
jne 0x4809dd
cmp eax, 1
jbe case.0x480811.6
mov dl, byte [esi + 1]
cmp dl, byte [ecx + 1]
jne 0x4809dd
cmp eax, 2
jbe case.0x480811.6
mov al, byte [esi + 2]
cmp al, byte [ecx + 2]
jmp 0x4809d7
mov edx, dword [edi + 4]
cmp edx, dword [edi + 0xc]
jae 0x480ad8
inc ecx
mov dword [ebx], ecx
mov esi, dword [edi + 4]
mov cl, byte [esi + edi + 0x2a0]
mov al, byte [ebp]
inc esi
inc ebp
mov dword [edi + 4], esi
cmp al, cl
jmp 0x4809d7
mov eax, dword [edi + 0x34]
mov edx, dword [edi + 0x38]
mov ecx, dword [edi + 0x30]
mov dword [esp + 0x20], edx
cmp dword [edi + 0x3c], eax
ja 0x480b2f
jb 0x480af0
cmp edx, ecx
jae 0x480b2f
sub ecx, edx
sbb eax, dword [edi + 0x3c]
xor edx, edx
cmp edx, eax
jb 0x480b03
ja 0x480b01
cmp esi, ecx
jbe 0x480b03
mov esi, ecx
mov ecx, dword [edi + 0x60]
push esi
mov edx, ebp
call fcn.00482eb0
push esi
lea ecx, [edi + 0x218]
mov edx, ebp
mov dword [edi + 0x60], eax
call fcn.0047f520
add dword [ebx], esi
add ebp, esi
add dword [edi + 0x38], esi
adc dword [edi + 0x3c], 0
jmp case.0x480811.6
and edx, 3
xor esi, esi
or edx, esi
je 0x480b75
mov cl, byte [ebp]
mov eax, dword [edi + 0x60]
movzx esi, cl
xor esi, eax
shr eax, 8
and esi, 0xff
xor eax, dword [esi*4 + 0x4a34a0]
mov edx, 1
add ebp, edx
mov dword [edi + 0x60], eax
add dword [ebx], edx
add dword [edi + 0x38], edx
mov eax, 0
adc dword [edi + 0x3c], eax
add dword [edi + 0x30], edx
adc dword [edi + 0x34], eax
jmp 0x4809d5
add ecx, 4
adc eax, 0
mov dword [edi + 0x30], ecx
lea ecx, [edi + 0x218]
lea edx, [esp + 0x28]
mov dword [edi], 2
mov dword [edi + 0x34], eax
mov dword [edi + 4], esi
call fcn.0047f5d0
lea eax, [edi + 0x280]
lea ecx, [esp + 0x28]
mov edx, 0x20
sub ecx, eax
lea ebx, [ebx]
mov esi, dword [eax + ecx]
cmp esi, dword [eax]
jne 0x4809dd
sub edx, 4
add eax, 4
cmp edx, 4
jae 0x480bb0
jmp case.0x480811.6
cmp dword [edi + 4], 4
jae 0x480bea
inc ecx
mov dword [ebx], ecx
mov cl, byte [ebp]
mov eax, dword [edi + 4]
mov byte [eax + edi + 0x2a0], cl
inc dword [edi + 4]
inc ebp
jmp case.0x480811.6
mov dword [edi + 4], edx
mov edx, dword [edi + 0x60]
not edx
cmp edx, dword [edi + 0x2a0]
mov dword [edi], 3
jmp 0x4809d7
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x74]
mov esi, 0xc
sub esi, eax
cmp esi, ecx
jbe 0x480c17
mov esi, ecx
push esi
lea eax, [eax + edi + 0x2a0]
push ebp
push eax
call sub.MSVCRT.dll_memcpy
add dword [edi + 4], esi
add dword [ebx], esi
add esp, 0xc
add ebp, esi
cmp dword [edi + 4], 0xc
jne case.0x480811.6
add dword [edi + 0x50], 1
mov ecx, dword [edi + 0x34]
mov edx, dword [edi + 0x30]
mov eax, 0
adc dword [edi + 0x54], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
movzx eax, word [edi + 0x10]
push ecx
push edx
lea esi, [edi + 0x2a0]
push eax
mov dword [edi], 4
call fcn.004802c0
test eax, eax
jne case.0x480811.6
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x58
ret 0x14
cmp byte [ebp], dl
je 0x480c96
test byte [edi + 0x40], 3
jne 0x480ce0
mov dword [edi + 4], edx
mov dword [edi], edx
jmp case.0x480811.6
inc ecx
mov dword [ebx], ecx
inc ebp
add dword [edi + 0x40], 1
adc dword [edi + 0x44], edx
jmp case.0x480811.6
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebp
mov dword [ecx], 2
xor eax, eax
pop ebx
add esp, 0x58
ret 0x14
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 0x14
mov edx, dword [esp + 0x7c]
pop edi
pop esi
pop ebp
mov dword [edx], 3
xor eax, eax
pop ebx
add esp, 0x58
ret 0x14
mov eax, 0x11
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 0x14