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

Disassembly:
mov ecx, dword [0x549820]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x485c8b
sub esp, 0x7c
mov ebx, dword [esp + 0x80]
mov ebp, dword [ebx + 0x20]
cmp ebp, 0x20
jl 0x4859a3
mov dword [esp + 0x78], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x30], esi
mov edi, dword [ebx]
mov dword [esp + 0x2c], edi
mov eax, dword [ebx + 8]
mov dword [esp + 0x24], eax
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x28], ecx
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x20], edx
mov ebp, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov ebx, dword [ebx + 0x1c]
mov dword [esp + 0x1c], ebx
shl esi, 1
shl edi, 1
mov ebx, dword [esp + 0x2c]
shr ebx, 0x1f
or esi, ebx
mov dword [esp + 0x74], esi
mov ebx, dword [esp + 0x30]
shr ebx, 0x1f
or edi, ebx
mov dword [esp + 0x70], edi
mov ebx, ecx
shl ecx, 7
shl eax, 7
mov esi, dword [esp + 0x24]
shr esi, 0x19
or ecx, esi
shr ebx, 0x19
or eax, ebx
mov dword [esp + 0x6c], eax
mov ebx, ebp
shl ebp, 0xc
mov edi, dword [esp + 0x20]
shl edi, 0xc
mov esi, dword [esp + 0x20]
shr esi, 0x14
or ebp, esi
mov dword [esp + 0x68], ebp
mov esi, ebx
shr ebx, 0x14
or edi, ebx
mov dword [esp + 0x64], edi
mov ebx, edx
shr edx, 0xe
mov ebp, dword [esp + 0x1c]
shl ebp, 0x12
or edx, ebp
mov dword [esp + 0x60], edx
mov ebp, ebx
shl ebx, 0x12
mov edi, dword [esp + 0x1c]
shr edi, 0xe
or edi, ebx
mov dword [esp + 0x5c], edi
mov eax, 0x27d4eb4f
mov edi, dword [esp + 0x2c]
mul edi
mov dword [esp + 0x58], eax
imul edi, edi, 0xc2b2ae3d
add edi, edx
mov ebx, dword [esp + 0x30]
imul ebx, ebx, 0x27d4eb4f
add ebx, edi
mov dword [esp + 0x54], ebx
mov eax, 0x27d4eb4f
mov ebx, dword [esp + 0x24]
mul ebx
imul ebx, ebx, 0xc2b2ae3d
add ebx, edx
mov edi, dword [esp + 0x28]
imul edi, edi, 0x27d4eb4f
add ebx, edi
mov dword [esp + 0x50], ebx
mov edi, eax
mov eax, 0x27d4eb4f
mov ebx, dword [esp + 0x20]
mul ebx
mov dword [esp + 0x4c], eax
imul ebx, ebx, 0xc2b2ae3d
add ebx, edx
imul esi, esi, 0x27d4eb4f
add ebx, esi
mov dword [esp + 0x48], ebx
mov eax, 0x27d4eb4f
mul ebp
mov dword [esp + 0x44], eax
imul ebp, ebp, 0xc2b2ae3d
add ebp, edx
mov ebx, dword [esp + 0x1c]
imul ebx, ebx, 0x27d4eb4f
add ebx, ebp
mov dword [esp + 0x40], ebx
mov ebp, dword [esp + 0x58]
shr ebp, 1
mov ebx, dword [esp + 0x54]
shl ebx, 0x1f
or ebx, ebp
imul ebx, ebx, 0x85ebca87
mov ebp, dword [esp + 0x58]
shl ebp, 0x1f
mov esi, dword [esp + 0x54]
shr esi, 1
or esi, ebp
mov eax, esi
mov ebp, 0x85ebca87
mul ebp
imul esi, esi, 0x9e3779b1
add esi, edx
add ebx, esi
mov dword [esp + 0x18], ebx
mov esi, edi
shr edi, 1
mov ebx, dword [esp + 0x50]
shl ebx, 0x1f
or ebx, edi
imul ebx, ebx, 0x85ebca87
shl esi, 0x1f
mov edi, dword [esp + 0x50]
shr edi, 1
or edi, esi
mov esi, eax
mov eax, edi
mul ebp
mov dword [esp + 0xc], eax
add ebx, edx
imul edi, edi, 0x9e3779b1
add ebx, edi
mov dword [esp + 0x14], ebx
mov edi, dword [esp + 0x4c]
mov edx, edi
shr edi, 1
mov ebx, dword [esp + 0x48]
shl ebx, 0x1f
or ebx, edi
imul ebx, ebx, 0x85ebca87
shl edx, 0x1f
mov edi, dword [esp + 0x48]
shr edi, 1
or edi, edx
mov eax, edi
mul ebp
mov dword [esp + 8], eax
add ebx, edx
imul edi, edi, 0x9e3779b1
add ebx, edi
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x44]
mov edx, edi
shr edi, 1
mov ebx, dword [esp + 0x40]
shl ebx, 0x1f
or ebx, edi
imul ebx, ebx, 0x85ebca87
shl edx, 0x1f
mov edi, dword [esp + 0x40]
shr edi, 1
or edi, edx
mov eax, edi
mul ebp
add ebx, edx
imul edi, edi, 0x9e3779b1
add ebx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x70]
mov edx, ebx
mov ebx, dword [esp + 0x6c]
add edi, ebx
mov ebx, dword [esp + 0x74]
adc ebx, ecx
mov ebp, dword [esp + 0x64]
add ebp, edi
mov edi, dword [esp + 0x68]
adc ebx, edi
mov edi, dword [esp + 0x5c]
add edi, ebp
mov ebp, dword [esp + 0x60]
adc ebp, ebx
xor edi, esi
mov ebx, dword [esp + 0x18]
xor ebx, ebp
mov ecx, eax
mov eax, 0x85ebca87
mov ebp, edx
mul edi
imul ebx, ebx, 0x85ebca87
add ebx, edx
imul esi, edi, 0x9e3779b1
add ebx, esi
add eax, 0xc2b2ae63
adc ebx, 0x85ebca77
mov esi, dword [esp + 0xc]
xor esi, eax
mov edi, dword [esp + 0x14]
xor edi, ebx
mov eax, 0x85ebca87
mul esi
imul ebx, edi, 0x85ebca87
add ebx, edx
imul esi, esi, 0x9e3779b1
add ebx, esi
add eax, 0xc2b2ae63
adc ebx, 0x85ebca77
mov esi, dword [esp + 8]
xor eax, esi
mov esi, dword [esp + 0x10]
xor esi, ebx
mov ebx, 0x85ebca87
mov edi, eax
mul ebx
imul esi, esi, 0x85ebca87
add esi, edx
imul edi, edi, 0x9e3779b1
add esi, edi
add eax, 0xc2b2ae63
adc esi, 0x85ebca77
xor eax, ecx
xor ebp, esi
mov ecx, eax
mul ebx
imul ebp, ebp, 0x85ebca87
add ebp, edx
imul esi, ecx, 0x9e3779b1
add ebp, esi
add eax, 0xc2b2ae63
adc ebp, 0x85ebca77
mov ebx, dword [esp + 0x80]
mov esi, ebp
mov ebp, dword [esp + 0x78]
jmp 0x4859b4
mov eax, dword [ebx + 0x10]
mov esi, dword [ebx + 0x14]
add eax, 0x165667c5
adc esi, 0x27d4eb2f
mov edi, ebp
sar ebp, 0x1f
mov ecx, dword [ebx + 0x44]
mov dword [esp + 0x38], ecx
add edi, eax
adc ebp, esi
xor eax, eax
jmp 0x485aec
mov dword [esp + 0x78], esi
mov dword [esp + 0x34], ebp
lea edx, [eax - 0x20]
neg edx
neg edx
sar edx, 0x1f
and eax, edx
mov dword [esp + 0x3c], eax
movzx edx, byte [ebx + eax + 0x24]
movzx ecx, byte [ebx + eax + 0x25]
mov dword [esp + 0x74], ecx
shl ecx, 8
or ecx, edx
mov esi, dword [esp + 0x74]
shr esi, 0x18
movzx edx, byte [ebx + eax + 0x26]
mov dword [esp + 0x74], edx
shl edx, 0x10
or edx, ecx
mov ecx, esi
mov esi, dword [esp + 0x74]
shr esi, 0x10
or esi, ecx
movzx ecx, byte [ebx + eax + 0x27]
mov dword [esp + 0x74], ecx
shr ecx, 8
or ecx, esi
mov esi, dword [esp + 0x74]
shl esi, 0x18
or esi, edx
mov eax, 0x27d4eb4f
mul esi
imul esi, esi, 0xc2b2ae3d
add esi, edx
mov edx, esi
mov esi, dword [esp + 0x3c]
movzx ebp, byte [ebx + esi + 0x28]
or ebp, ecx
movzx ecx, byte [ebx + esi + 0x29]
shl ecx, 8
or ebp, ecx
movzx ecx, byte [ebx + esi + 0x2a]
shl ecx, 0x10
or ecx, ebp
movzx esi, byte [ebx + esi + 0x2b]
shl esi, 0x18
or esi, ecx
imul esi, esi, 0x27d4eb4f
add esi, edx
mov ecx, eax
shr ecx, 1
mov edx, esi
shl esi, 0x1f
or esi, ecx
imul esi, esi, 0x85ebca87
shl eax, 0x1f
shr edx, 1
or eax, edx
mov ecx, esi
mov esi, 0x85ebca87
mov ebp, eax
mul esi
xor edi, eax
lea eax, [edx + ecx]
imul ecx, ebp, 0x9e3779b1
add eax, ecx
mov esi, dword [esp + 0x34]
xor esi, eax
mov eax, edi
shr edi, 5
mov ecx, esi
shl esi, 0x1b
or edi, esi
imul esi, edi, 0x85ebca87
shl eax, 0x1b
shr ecx, 5
or ecx, eax
mov eax, 0x85ebca87
mul ecx
add esi, edx
imul ecx, ecx, 0x9e3779b1
lea ebp, [ecx + esi]
nop
nop
nop
nop
add eax, 0xc2b2ae63
adc ebp, 0x85ebca77
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x78]
mov edi, eax
mov eax, esi
lea esi, [eax + 8]
cmp ecx, esi
jl 0x485b09
cmp esi, 0x20
ja 0x485c7e
cmp eax, esi
jbe 0x4859cb
jmp 0x485c77
lea esi, [eax + 4]
cmp ecx, esi
jl 0x485b8c
cmp esi, 0x20
ja 0x485c6b
cmp eax, esi
ja 0x485c64
lea edx, [eax - 0x20]
neg edx
neg edx
sar edx, 0x1f
and eax, edx
mov eax, dword [ebx + eax + 0x24]
mov dword [esp + 0x74], eax
mov edx, 0x85ebca87
mul edx
xor eax, edi
mov edi, ebx
mov ebx, dword [esp + 0x74]
imul ebx, ebx, 0x9e3779b1
add edx, ebx
xor ebp, edx
mov edx, eax
shr eax, 9
mov ebx, ebp
shl ebp, 0x17
or eax, ebp
imul eax, eax, 0x27d4eb4f
shl edx, 0x17
shr ebx, 9
or ebx, edx
mov edx, eax
mov eax, 0x27d4eb4f
mov ebp, edx
mul ebx
imul ebx, ebx, 0xc2b2ae3d
add edx, ebx
add ebp, edx
nop
nop
add eax, 0x9e3779f9
adc ebp, 0x165667b1
jmp 0x485bee
mov esi, eax
mov eax, edi
mov edi, ebx
jmp 0x485bee
movzx edx, byte [esi + edi + 0x24]
mov dword [esp + 0x74], edx
mov ebx, eax
mov eax, 0x165667c5
mul edx
xor eax, ebx
mov ebx, dword [esp + 0x74]
imul ebx, ebx, 0x27d4eb2f
add edx, ebx
xor edx, ebp
mov ebx, edx
shl edx, 0xb
mov ebp, eax
shl ebp, 0xb
shr eax, 0x15
or edx, eax
imul edx, edx, 0x85ebca87
mov dword [esp + 0x74], edx
shr ebx, 0x15
or ebp, ebx
mov eax, ebp
mov ebx, 0x85ebca87
mul ebx
mov ebx, dword [esp + 0x74]
add edx, ebx
imul ebx, ebp, 0x9e3779b1
lea ebp, [ebx + edx]
inc esi
nop
cmp esi, ecx
jge 0x485bf9
cmp esi, 0x20
jb 0x485b94
jmp 0x485c58
mov ecx, ebp
shr ebp, 1
xor ebp, eax
mov eax, 0x27d4eb4f
mul ebp
imul ebx, ebp, 0xc2b2ae3d
add edx, ebx
imul ecx, ecx, 0x27d4eb4f
add ecx, edx
mov edx, ecx
shl ecx, 3
mov ebx, edx
shr edx, 0x1d
xor edx, ebx
mov ebx, eax
shr eax, 0x1d
or ecx, eax
xor ecx, ebx
mov eax, 0x9e3779f9
mov ebx, edx
mul ecx
imul ebx, ebx, 0x9e3779f9
imul ecx, ecx, 0x165667b1
add ecx, edx
add ecx, ebx
mov dword [esp + 0x88], ecx
xor ecx, eax
mov dword [esp + 0x84], ecx
add esp, 0x7c
ret
mov eax, esi
mov ecx, 0x20
call fcn.0045de90
mov ecx, esi
call fcn.0045def0
mov ecx, esi
mov edx, 0x20
call fcn.0045deb0
mov ecx, esi
call fcn.0045def0
mov ecx, esi
mov edx, 0x20
call fcn.0045deb0
nop
call fcn.0045ca30
jmp fcn.00485660