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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb0
mov eax, dword [ebp + 8]
mov byte [esp + 0xab], 0x52
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x94], 0x6ffba9a8
mov dword [esp + 0x74], 0x55fd511b
mov esi, dword [esp + 0x94]
mov edi, 0xa864ae07
sub edi, esi
mov dword [esp + 0x64], edi
mov edi, esi
or edi, 0x41a62220
mov dword [esp + 0xa4], edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], esi
call fcn.0047e6f0
mov ecx, dword [esp + 0x30]
mov bl, cl
mov cl, bl
mov edx, dword [esp + 0x2c]
shr edx, cl
mov cl, bl
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
shrd esi, edi, cl
xor ecx, ecx
test bl, 0x20
cmovne esi, edx
cmovne edx, ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], esi
mov edx, dword [esp + 0x94]
add edx, 0xfbcf878f
or ecx, 0xe3c300
mov esi, dword [esp + 0x34]
mov bl, byte [esi]
cmp edx, ecx
mov dword [esp + 0x24], eax
mov byte [esp + 0x23], bl
jae 0x4806f6
jmp 0x48029e
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x30]
and ecx, 0x213ac22d
mov edx, dword [esp + 0x94]
mov esi, 0x6ffba9a8
sub esi, edx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
imul ecx, eax, 0x759d964a
mov edx, dword [esp + 0x40]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0xa4], eax
mov bl, al
mov cl, bl
mov eax, dword [esp + 0x28]
shr eax, cl
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x7c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x38]
mov edx, dword [edi + edx*4]
add eax, edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x9c], eax
mov edx, dword [esp + 0x30]
mov dword [esp + 0x98], edx
mov dword [esp + 0x60], esi
jmp 0x4805f0
mov dword [esp + 0xa4], 0x78aa5024
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
xor ecx, 0x330575f
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x94]
xor ecx, 0x942a284
mov edx, dword [esp + 0x28]
mov dword [esp + 0xa4], edx
mov esi, dword [esp + 0x64]
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x30]
not esi
mov edi, dword [esp + 0x2c]
not edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x98], esi
mov dword [esp + 0x60], ecx
cmp eax, 0x3c8c14be
je 0x4805f0
jmp 0x48035f
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
and edx, edx
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x30]
or edx, edx
mov esi, dword [esp + 0x2c]
or esi, esi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], edx
mov dword [esp + 0x40], edi
mov edx, dword [esp + 0x90]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], 0
cmp ecx, eax
jb 0x480207
jmp 0x4803d1
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0x64]
add eax, 0xf11dac58
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x4c]
add edx, 2
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0x1050414c
inc edx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x9c], edx
mov esi, dword [esp + 0x30]
mov dword [esp + 0x98], esi
cmp eax, 0x7b70ee0
jne 0x4805c5
jmp 0x4806f6
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x28]
and ecx, 0x37a7deb7
mov dword [esp + 0xa4], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x78]
mov ecx, dword [esp + 0x38]
mov edx, ecx
add edx, eax
mov esi, dword [esp + 0x94]
mov edi, 0x7399c541
sub edi, esi
mov dword [esp + 0x50], edx
mov eax, dword [ecx + eax + 0x20]
mov ecx, dword [esp + 0x30]
mov bl, cl
mov cl, bl
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
shrd edx, esi, cl
mov cl, bl
shr esi, cl
xor ecx, ecx
test bl, 0x20
cmovne edx, esi
cmovne esi, ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x30]
add eax, 0x75863c51
mov edx, dword [esp + 0x2c]
adc edx, 0
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], eax
cmp edi, ecx
jbe 0x4804c8
jmp 0x4806d0
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa4], 0xa5c5fb0
mov ecx, dword [esp + 0x30]
add ecx, 0x34d3c261
mov edx, dword [esp + 0x2c]
adc edx, 0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
mov ecx, dword [esp + 0x38]
add ecx, dword [eax + 0x24]
mov eax, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x58], ecx
jmp 0x480207
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
add ecx, eax
mov eax, dword [esp + 0x30]
mov dl, al
mov eax, 0x5692d970
xor esi, esi
mov dword [esp + 0x1c], ecx
mov cl, dl
mov edi, esi
shld edi, eax, cl
mov cl, dl
shl eax, cl
test dl, 0x20
cmovne edi, eax
cmovne eax, esi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x50]
add eax, 0x18
mov edi, 0xa062800
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov eax, ebx
mul edi
mov edi, dword [esp + 0x2c]
imul ecx, edi, 0xa062800
add edx, ecx
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
mov eax, 0x20adb6bb
sub eax, ebx
mov ecx, esi
sbb ecx, edi
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xa4], 0
mov eax, dword [eax]
mov dword [esp + 0x5c], 0
mov ecx, 0x3bbfa486
sub ecx, ebx
sbb esi, edi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ecx
cmp eax, 0
je 0x4803d1
jmp 0x480475
mov al, byte [esp + 0x7b]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x98], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x9c], edx
test al, 1
jne 0x480761
jmp 0x48029e
mov eax, 0xb7b57ae2
mov ecx, dword [esp + 0x84]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x80], 0
cmp ecx, eax
jae 0x4803ee
jmp 0x480309
mov eax, dword [esp + 0x28]
and eax, 0x166cf417
mov dword [esp + 0xa4], eax
mov cl, byte [esp + 0xab]
add cl, 0xae
mov eax, dword [esp + 0x60]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xa4], eax
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x30]
add edi, 0x3704bde3
mov ebx, dword [esp + 0x2c]
adc ebx, 0
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x98], edi
mov edi, dword [esp + 0x30]
not edi
mov ebx, dword [esp + 0x2c]
not ebx
mov ch, byte [esi + edx]
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x98], edi
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x34]
mov al, byte [esi + edx]
mov byte [esp + 0x57], al
mov edx, dword [esp + 0x30]
mov al, dl
xor edx, edx
mov edi, 0x39599285
mov byte [esp + 0x17], cl
mov cl, al
shrd edi, edx, cl
test al, 0x20
cmovne edi, edx
cmovne edx, edx
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], edi
cmp ch, byte [esp + 0x57]
sete al
and al, 1
mov byte [esp + 0x7b], al
mov edx, dword [esp + 0x28]
xor edx, edx
mov dword [esp + 0xa4], edx
mov al, byte [esp + 0x17]
cmp ch, al
je 0x48059e
jmp 0x48085a
mov eax, dword [esp + 0x28]
add eax, eax
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x38]
mov ecx, esp
mov dword [ecx], eax
call fcn.0047ef20
mov dword [esp + 0x80], eax
jmp 0x4803ee
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0xd221020
mov dword [esp + 0x80], eax
mov dl, byte [esp + 0x23]
cmp dl, 0
jg 0x480903
jmp 0x4803ee
mov eax, 0x43e44240
mov ecx, 0x46910aed
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], ecx
mov ecx, edx
mov esi, dword [esp + 0x10]
shr esi, cl
mov edi, dword [esp + 0x74]
sub edi, 0x6ea392ae
mov dword [esp + 0xa4], esi
cmp eax, edi
ja 0x4807c4
jmp 0x4806d0
mov eax, dword [esp + 0x94]
add eax, 0x9028277c
mov ecx, dword [esp + 0x64]
imul ecx, eax
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
add edx, 0x8c1066f7
mov esi, dword [esp + 0x2c]
adc esi, 0xffffffff
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], esi
mov di, word [eax]
mov word [esp + 0x8e], di
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], ecx
mov ecx, eax
shr eax, cl
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xc]
cmp eax, 0x7c178c3c
jae 0x4806f6
mov eax, dword [esp + 0x28]
and eax, eax
movzx ecx, word [esp + 0x8e]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov eax, dword [eax + 0x1c]
mov edx, dword [esp + 0x38]
add edx, eax
mov eax, dword [esp + 0x30]
mov bl, al
xor eax, eax
mov esi, 0x7974d776
mov dword [esp + 8], ecx
mov cl, bl
shrd esi, eax, cl
test bl, 0x20
cmovne esi, eax
cmovne eax, eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], esi
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 8]
mov edx, dword [edx + esi*4]
add eax, edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x30]
or eax, 0x30ae36c9
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], eax
jmp 0x4803d1
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x28]
not ecx
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x30]
xor ecx, 0x132a27a5
mov dl, byte [esp + 0x57]
mov dh, byte [esp + 0x7b]
and dh, 1
test dl, dl
setne dl
inc eax
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ecx
and dh, dl
mov ecx, dword [esp + 0x30]
add ecx, ecx
adc esi, esi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x30]
mov dl, cl
mov cl, dl
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
shld esi, edi, cl
mov cl, dl
shl edi, cl
xor ebx, ebx
test dl, 0x20
cmovne esi, edi
cmovne edi, ebx
mov ebx, eax
sub ebx, 0x20
setb cl
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], edi
and dh, cl
mov dword [esp + 0x60], eax
test dh, 1
mov dword [esp + 4], ebx
jne 0x4805f0
jmp 0x48059e
mov eax, dword [esp + 0x28]
or eax, 0x16201c72
mov ecx, dword [esp + 0x94]
add ecx, 0xe83d9198
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x28]
xor eax, 0xffffffff
imul ecx, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x80], 0
cmp ecx, 0x1ae89798
jbe 0x4803ee
jmp 0x48072d