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

Disassembly:
sub esp, 0xb8
mov eax, dword [0x8a0c44]
xor eax, esp
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xd0]
xor ecx, ecx
push ebx
mov ebx, dword [esp + 0xc8]
push ebp
mov ebp, dword [esp + 0xd0]
push esi
mov esi, dword [esp + 0xd8]
push edi
mov edi, dword [esp + 0xcc]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x40], eax
mov byte [esp + 0x13], 0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
cmp byte [esp + 0xe4], cl
je 0x480984
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x24], edx
mov edx, dword [esi + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov eax, edi
lea edx, [eax + 1]
mov dword [esp + 0x18], edx
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x480990
sub eax, dword [esp + 0x18]
je 0x480c92
xor eax, eax
push 0x2f
push edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
call fcn.00641f90
add esp, 8
mov dword [esp + 0x3c], eax
test eax, eax
je 0x4809f1
sub eax, edi
push eax
lea eax, [esp + 0x50]
push edi
push eax
call fcn.00641290
add esp, 0xc
jmp 0x480a0a
lea edx, [esp + 0x4c]
mov eax, edi
sub edx, edi
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x480a00
lea eax, [esp + 0x4c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x480a11
sub eax, edx
cmp dword [esi + 0x10], 0
mov dword [esp + 0x18], eax
jbe 0x480d12
jmp 0x480a30
cmp byte [esp + 0x13], 0
jne 0x480d12
lea ecx, [esp + 0x12]
push ecx
call fcn.00480480
mov al, byte [esp + 0x16]
add esp, 4
test al, al
jne 0x480a8f
mov edx, dword [esi]
mov ecx, dword [edx]
cmp ecx, dword [0x88d080]
je 0x480a64
cmp ecx, dword [0x88d088]
jne 0x480a73
mov edx, dword [edx + 6]
cmp edx, dword [0x88d090]
je 0x480c83
movsx eax, al
push eax
call fcn.00641bfb
add esp, 4
test eax, eax
je 0x480ade
mov eax, esi
call fcn.00480430
jmp 0x480c83
cmp al, 0x7b
jne 0x480aaf
mov eax, esi
call fcn.00480430
call fcn.00480500
mov eax, esi
call fcn.00480430
inc dword [esp + 0x14]
jmp 0x480c83
cmp al, 0x7d
jne 0x480ace
mov eax, esi
call fcn.00480430
cmp dword [esp + 0x14], 0
je 0x480d12
dec dword [esp + 0x14]
jmp 0x480c83
cmp al, 0x3d
jne 0x480a73
mov eax, esi
call fcn.00480430
jmp 0x480c83
mov ecx, 0x6ef3c8
lea eax, [esp + 0x4c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x480b07
test dl, dl
je 0x480b03
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x480b07
add eax, 2
add ecx, 2
test dl, dl
jne 0x480ae7
xor eax, eax
jmp 0x480b0c
sbb eax, eax
sbb eax, 0xffffffff
mov ebp, dword [esi]
lea ecx, [esp + 0x12]
test eax, eax
push ecx
sete bl
call fcn.004804c0
mov edi, dword [esi]
add esp, 4
test bl, bl
jne 0x480b4f
mov edx, edi
sub edx, ebp
cmp dword [esp + 0x18], edx
jne 0x480c83
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x50]
push ebp
push ecx
call fcn.0064204e
add esp, 0xc
test eax, eax
jne 0x480c83
push 0x50
lea edx, [esp + 0x78]
push 0
push edx
call fcn.0063f050
mov eax, dword [esp + 0x48]
add esp, 0xc
test eax, eax
je 0x480bcd
inc eax
lea edx, [esp + 0x74]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x480b70
lea eax, [esp + 0x74]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x480b81
sub eax, edx
je 0x480b9a
mov eax, esi
mov dl, 0x7b
call fcn.00480450
call fcn.00480430
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
push 0
push eax
mov eax, dword [esp + 0xd8]
push esi
push ecx
push edx
push eax
lea ecx, [esp + 0x8c]
push ecx
call fcn.004808e0
add esp, 0x1c
mov byte [esp + 0x13], al
jmp 0x480c83
mov ecx, dword [esp + 0xd0]
cmp dword [esp + 0x1c], ecx
jne 0x480c2e
mov eax, dword [esp + 0x40]
test eax, eax
je 0x480c0b
mov edx, dword [esi]
mov dword [eax], edx
mov edx, dword [esi + 4]
mov dword [eax + 4], edx
mov edx, dword [esi + 8]
mov dword [eax + 8], edx
mov edx, dword [esi + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esi + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [esi + 0x14]
mov dword [eax + 0x14], edx
sub edi, ebp
add dword [eax + 0x10], edi
mov dword [eax], ebp
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
push 0
push 0
push esi
push eax
push edx
push ecx
push 0x6edb9d
call fcn.004808e0
add esp, 0x1c
mov byte [esp + 0x13], al
jmp 0x480c83
inc dword [esp + 0x1c]
lea eax, [esp + 0x12]
push eax
call fcn.00480480
add esp, 4
cmp byte [esp + 0x12], 0x3d
jne 0x480c83
mov eax, esi
call fcn.00480430
lea ecx, [esp + 0x12]
push ecx
call fcn.00480480
add esp, 4
mov eax, esi
call fcn.00480430
cmp byte [esp + 0x12], 0x7b
jne 0x480c76
call fcn.00480500
mov eax, esi
call fcn.00480430
jmp 0x480c83
lea edx, [esp + 0x12]
push edx
call fcn.004804c0
add esp, 4
cmp dword [esi + 0x10], 0
ja 0x480a30
jmp 0x480d12
cmp dword [esi + 0x10], 0
je 0x480d16
jmp 0x480ca4
mov ecx, dword [esp + 0x20]
cmp byte [esp + 0x13], 0
jne 0x480d16
lea eax, [esp + 0x12]
push eax
call fcn.00480480
mov al, byte [esp + 0x16]
add esp, 4
cmp al, 0x3d
je 0x480d05
cmp al, 0x7b
je 0x480ce5
mov edi, dword [esi]
lea ecx, [esp + 0x12]
push ecx
call fcn.004804c0
mov eax, dword [esi]
dec eax
sub eax, edi
add esp, 4
inc eax
mov dword [ebx], edi
mov dword [ebp], eax
mov byte [esp + 0x13], 1
jmp 0x480d0c
mov eax, esi
call fcn.00480430
mov edi, dword [esi]
call fcn.00480500
mov eax, dword [esi]
dec eax
sub eax, edi
inc eax
mov dword [ebx], edi
mov dword [ebp], eax
mov byte [esp + 0x13], 1
jmp 0x480d0c
mov eax, esi
call fcn.00480430
cmp dword [esi + 0x10], 0
jne 0x480ca0
mov ecx, dword [esp + 0x20]
cmp byte [esp + 0xe4], 0
je 0x480d45
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov dword [esi], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esi + 4], edx
mov edx, dword [esp + 0x30]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
mov ecx, dword [esp + 0xc4]
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0063ecb3
add esp, 0xb8
ret