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

Disassembly:
sub esp, 0x50
mov eax, dword [esp + 0x58]
push ebx
push ebp
mov ebp, dword [esp + 0x84]
xor ebx, ebx
mov eax, dword [eax]
push esi
mov esi, dword [esp + 0x68]
mov dword [esp + 0x30], eax
mov eax, dword [ebp]
mov dword [esp + 0x44], ebx
mov esi, dword [esi]
mov dword [esp + 0x34], 1
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x28], esi
test ecx, ecx
je 0x480d7b
push dword [eax + 0x10]
movzx eax, word [ebp + 0x5c]
push eax
call ecx
pop ecx
pop ecx
test eax, eax
je 0x480d7b
mov eax, dword [esp + 0x6c]
mov dword [eax], 0x85
xor eax, eax
jmp 0x481084
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x54], eax
or eax, 0xffffffff
mov dword [esp + 0x18], eax
push edi
mov edi, eax
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x74]
add eax, 6
mov dword [esp + 0x30], ebx
mov dword [esp + 0x18], eax
mov al, byte [ecx]
cmp al, 0x80
je 0x480dbd
cmp al, 0x81
je 0x480dbd
cmp al, 0x83
je 0x480dbd
mov dword [esp + 0x3c], ebx
mov edx, ebx
jmp 0x480dcf
xor edx, edx
inc edx
mov dword [esp + 0x3c], edx
movzx edx, word [esi - 4]
add esi, 4
mov dword [esp + 0x2c], esi
cmp al, 0x88
jne 0x480e00
movzx esi, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl esi, 8
or esi, eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x50], eax
mov ax, word [ebp + 0x5e]
mov word [esp + 0x56], ax
lea eax, [esp + 0x50]
mov dword [esp + 0x48], esi
mov word [esp + 0x54], si
mov dword [ebp + 0x60], eax
mov eax, dword [esp + 0x74]
xor esi, esi
mov ebp, dword [esp + 0x34]
add eax, 3
mov word [ecx + 1], bx
add ecx, eax
mov dword [esp + 0x14], ebp
lea eax, [esp + 0x18]
mov ebp, dword [esp + 0x90]
test ebp, ebp
cmove eax, esi
mov dword [esp + 0x44], eax
cmp dword [esp + 0x3c], 0
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
je 0x480e5c
test edx, edx
je 0x480e5c
mov eax, edx
mov byte [ecx], 0x7d
shr eax, 8
mov byte [ecx + 1], al
lea eax, [ecx + 3]
mov byte [ecx + 2], dl
add dword [esp + 0x18], 3
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
push eax
push dword [esp + 0x90]
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x8c]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.0047df3d
add esp, 0x2c
test eax, eax
je 0x481081
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
push 0xffffffffffffffff
pop eax
cmovs ecx, eax
mov dword [esp + 0x38], ecx
test ebp, ebp
jne 0x480f54
cmp byte [edx], 0x78
je 0x480edf
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
jmp 0x480f54
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x30]
cmp esi, dword [esp + 0x20]
jne 0x480f1d
cmp eax, edx
jne 0x480f1d
mov eax, dword [esp + 0x1c]
push 0xfffffffffffffffe
pop ecx
mov dword [esp + 0x1c], eax
cmp eax, ecx
jae 0x480f30
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, ecx
xor eax, edi
test eax, 0xfffffffd
jne 0x480f4d
cmp ebx, edx
jne 0x480f4d
mov ebx, edx
or edi, ecx
jmp 0x480f50
push 0xfffffffffffffffe
pop ecx
cmp esi, ecx
jae 0x480f2c
cmp edi, ecx
jb 0x480f2c
mov ebx, eax
mov edi, esi
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x20], ecx
jae 0x480f00
mov ecx, dword [esp + 0x24]
cmp ecx, 0xfffffffe
jb 0x480f04
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
jmp 0x480f08
push 0xfffffffffffffffe
pop edi
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x2c]
mov eax, dword [esi]
and eax, 0xffff0000
cmp eax, 0x80010000
jne 0x480fbd
test ebp, ebp
je 0x480f7e
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
add ecx, 3
add ecx, dword [eax]
add dword [esp + 0x18], 3
jmp 0x480faa
mov ecx, dword [esp + 0x10]
mov eax, ecx
sub eax, edx
mov ebp, ecx
sar eax, 8
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x90]
mov byte [ecx], 0x78
mov byte [ecx + 1], al
mov al, cl
sub al, dl
mov byte [ecx + 2], al
mov dword [esp + 0x5c], ecx
add ecx, 3
movzx edx, word [esi]
add esi, 4
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], esi
jmp 0x480e2b
mov edx, dword [esp + 0x10]
test ebp, ebp
jne 0x480ffe
mov ebp, dword [esp + 0x14]
mov eax, edx
sub eax, ebp
mov dword [esp + 0x4c], eax
mov edx, eax
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
mov byte [ebp + 2], dl
mov eax, edx
mov edx, ecx
shr eax, 8
mov byte [ebp + 1], al
sub ebp, ecx
test ecx, ecx
jne 0x480fd3
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x90]
mov ecx, dword [esp + 0x34]
mov eax, edx
sub eax, ecx
mov byte [edx], 0x79
sar eax, 8
mov byte [edx + 1], al
mov al, dl
sub al, cl
mov byte [edx + 2], al
add edx, 3
cmp dword [esp + 0x48], 0
jbe 0x48102f
mov ecx, dword [esp + 0x8c]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
mov dword [ecx + 0x60], eax
mov eax, dword [esp + 0x68]
mov dword [eax], edx
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x30]
mov dword [eax], esi
mov eax, dword [esp + 0x78]
mov dword [eax], edx
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x1c]
mov dword [eax], edx
mov eax, dword [esp + 0x80]
mov dword [eax], ebx
mov eax, dword [esp + 0x84]
mov dword [eax], edi
test ebp, ebp
je 0x481090
mov ecx, dword [ebp]
mov eax, 0x7fffffeb
mov edx, dword [esp + 0x18]
sub eax, ecx
cmp eax, edx
jae 0x48108b
mov eax, dword [esp + 0x70]
mov dword [eax], 0x78
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
add ecx, edx
mov dword [ebp], ecx
mov eax, dword [esp + 0x38]
jmp 0x481083