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

Disassembly:
mov ecx, dword [0x8602c0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x368]
cmp eax, dword [ecx + 8]
jbe 0x5c93cb
sub esp, 0x3e8
lea edi, [esp + 0x15c]
mov ecx, 0xa0
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x3ec]
mov ebx, dword [edx]
mov ebp, dword [edx + 0x38]
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x7c], eax
mov ecx, dword [edx + 0x30]
mov edi, dword [edx + 0x20]
mov eax, dword [edx + 0x34]
mov dword [esp + 0x88], eax
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x28]
mov dword [esp + 0x34], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x38], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x64], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x68], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0x14]
mov edx, dword [edx + 4]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0xe0], eax
mov dword [esp + 0x14c], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x3e4], ecx
mov dword [esp + 0x144], edx
mov edx, dword [esp + 0x3f8]
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0x144]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x14c]
jmp 0x5c8bf0
mov esi, dword [esp + 0xdc]
add esi, 0xffffff80
mov dword [esp + 0xdc], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 0x80
mov ebp, dword [esp + 0x3e4]
add ebp, esi
mov dword [esp + 0x3e4], ebp
mov esi, dword [esp + 0xe0]
add esi, 0xffffff80
mov ebp, dword [esp + 0x5c]
add ebx, ebp
mov dword [esp + 0x5c], ebx
mov ebp, dword [esp + 0xa4]
mov ebx, dword [esp + 0x60]
adc ebp, ebx
mov dword [esp + 0xbc], ebp
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x64]
add ebx, ebp
mov dword [esp + 0x64], ebx
mov ebp, dword [esp + 0x68]
mov ebx, dword [esp + 0xc]
adc ebp, ebx
mov dword [esp + 0xb8], ebp
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
add ebx, ebp
mov ebp, dword [esp + 0x80]
adc eax, ebp
mov dword [esp + 0xb4], eax
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add eax, ebp
mov dword [esp + 0x18], eax
mov ebp, dword [esp + 0x1c]
adc edx, ebp
mov ebp, dword [esp + 0x2c]
add edi, ebp
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x30]
adc eax, ebp
mov dword [esp + 0xb0], eax
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
add eax, ebp
mov dword [esp + 0x34], eax
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
adc eax, ebp
mov dword [esp + 0xac], eax
mov ebp, dword [esp + 0x84]
add ecx, ebp
mov dword [esp + 0x84], ecx
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x88]
adc eax, ebp
mov dword [esp + 0xa8], eax
mov ebp, dword [esp + 0x54]
mov eax, dword [esp + 0x98]
add ebp, eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x9c]
adc eax, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xe0], esi
mov esi, eax
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x68], eax
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x9c], esi
mov esi, dword [esp + 0xe0]
cmp esi, 0x80
jl 0x5c8d48
mov dword [esp + 0x2c], edi
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x98], ebp
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x13c], eax
xor eax, eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x13c]
jmp 0x5c8e08
mov edx, 0x10
jmp 0x5c908e
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x134], eax
xor eax, eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x40], eax
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x124], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x114], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10c], ebp
mov ebp, dword [esp + 0x64]
mov dword [esp + 8], ebp
mov dword [esp + 0x104], esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x6c], esi
mov eax, dword [esp + 0x134]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x78], eax
mov ebp, dword [esp + 0x10c]
mov dword [esp + 0xf4], ebp
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x58], ebp
mov edx, dword [esp + 0x124]
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x12c]
mov ebx, dword [esp + 0x114]
mov esi, dword [esp + 0x104]
mov eax, dword [esp + 0x134]
mov ebp, dword [esp + 0x10c]
mov edx, dword [esp + 0x124]
jmp 0x5c9287
mov esi, dword [esp + 0x3ec]
mov dword [esi], ebx
mov dword [esi + 4], edx
mov edx, dword [esp + 0x64]
mov dword [esi + 8], edx
mov edx, dword [esp + 0x68]
mov dword [esi + 0xc], edx
mov edx, dword [esp + 0x7c]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], edi
mov eax, dword [esp + 0x30]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x34]
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], ecx
mov eax, dword [esp + 0x88]
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], ebp
mov eax, dword [esp + 0x9c]
mov dword [esi + 0x3c], eax
add esp, 0x3e8
ret
lea ecx, [esp + edx*8 + 0x15c]
lea ebx, [esp + edx*8 + 0x160]
mov ebp, dword [esp + 0x3e4]
lea ebp, [ebp + edx*8 + 7]
movzx ebp, byte [ebp]
or edi, ebp
mov dword [ecx], edi
mov dword [ebx], eax
lea eax, [edx + 1]
mov ecx, dword [esp + 0x3e4]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x98]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x94]
cmp edx, 0x10
jge 0x5c8c47
shl edx, 3
cmp esi, edx
jbe 0x5c93c1
lea eax, [edx + 1]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x3e4]
lea ecx, [ebp + ebx*8]
cmp esi, eax
jbe 0x5c93ba
lea eax, [edx + 2]
cmp esi, eax
jbe 0x5c93b3
lea eax, [edx + 3]
cmp esi, eax
jbe 0x5c93ac
lea eax, [edx + 4]
cmp esi, eax
jbe 0x5c93a5
mov eax, dword [ecx]
bswap eax
lea ecx, [ebp + ebx*8 + 4]
movzx ecx, byte [ecx]
mov dword [esp + 0xd8], ecx
shr ecx, 8
lea edi, [edx + 5]
or eax, ecx
cmp esi, edi
jbe 0x5c939c
mov dword [esp + 0x28], edx
mov edi, dword [esp + 0xd8]
shl edi, 0x18
lea ecx, [ebp + ebx*8 + 5]
movzx ecx, byte [ecx]
mov dword [esp + 0xd8], ecx
shr ecx, 0x10
mov ebx, dword [esp + 0xd8]
shl ebx, 0x10
add edx, 6
or ebx, edi
or ecx, eax
cmp esi, edx
jbe 0x5c9393
mov edx, dword [esp + 0x94]
lea edi, [ebp + edx*8 + 6]
movzx edi, byte [edi]
mov eax, edi
shl edi, 8
shr eax, 0x18
mov ebp, dword [esp + 0x28]
add ebp, 7
or edi, ebx
or eax, ecx
cmp esi, ebp
ja 0x5c8db3
jmp 0x5c938a
mov dword [esp + 0x90], edx
lea esi, [esp + edx*8 + 0x14c]
mov eax, dword [esi + 4]
mov dword [esp + 0x50], eax
mov esi, dword [esi]
mov dword [esp + 0x4c], esi
shr eax, 6
shr esi, 6
mov ecx, dword [esp + 0x50]
shl ecx, 0x1a
or ecx, esi
lea esi, [esp + edx*8 + 0xe4]
mov ebx, dword [esi + 4]
mov dword [esp + 0x48], ebx
mov esi, dword [esi]
mov dword [esp + 0x44], esi
shr ebx, 7
mov dword [esp + 0xd8], ebx
shr esi, 7
mov ebp, dword [esp + 0x48]
shl ebp, 0x19
or ebp, esi
mov dword [esp + 0xd4], ebp
lea esi, [esp + edx*8 + 0x15c]
mov dword [esp + 0x3e0], esi
lea edi, [esp + edx*8 + 0x160]
mov dword [esp + 0x3dc], edi
lea edi, [esp + edx*8 + 0x124]
mov esi, dword [edi]
mov dword [esp + 0xd0], esi
mov edi, dword [edi + 4]
mov dword [esp + 0xcc], edi
lea edi, [esp + edx*8 + 0xdc]
mov esi, dword [edi]
mov dword [esp + 0xc8], esi
mov edi, dword [edi + 4]
mov dword [esp + 0xc4], edi
mov edi, dword [esp + 0x4c]
shl edi, 0xd
mov esi, dword [esp + 0x50]
shl esi, 0xd
mov edx, dword [esp + 0x4c]
shr edx, 0x13
or esi, edx
mov edx, dword [esp + 0x50]
shr edx, 0x13
or edx, edi
mov edi, dword [esp + 0x50]
shl edi, 3
mov ebp, dword [esp + 0x4c]
shl ebp, 3
mov ebx, dword [esp + 0x4c]
shr ebx, 0x1d
or ebx, edi
xor ebx, edx
xor ebx, eax
mov eax, dword [esp + 0x50]
shr eax, 0x1d
or eax, ebp
xor esi, eax
xor ecx, esi
mov eax, dword [esp + 0x44]
mov edx, eax
shl eax, 0x1f
mov ebp, edx
shr edx, 1
mov esi, dword [esp + 0x48]
mov edi, esi
shl esi, 0x1f
or esi, edx
mov edx, edi
shr edi, 1
or edi, eax
mov eax, ebp
shl ebp, 0x18
shr edx, 8
or edx, ebp
xor edx, edi
mov ebp, dword [esp + 0xd8]
xor edx, ebp
shr eax, 8
mov ebp, dword [esp + 0x48]
shl ebp, 0x18
or ebp, eax
xor ebp, esi
mov eax, dword [esp + 0xd4]
xor eax, ebp
mov ebp, dword [esp + 0x90]
inc ebp
mov esi, dword [esp + 0xd0]
add ecx, esi
mov esi, dword [esp + 0xcc]
adc ebx, esi
add ecx, eax
adc ebx, edx
mov eax, dword [esp + 0xc8]
add eax, ecx
mov ecx, dword [esp + 0x3e0]
mov dword [ecx], eax
mov eax, dword [esp + 0xc4]
adc eax, ebx
mov ecx, dword [esp + 0x3dc]
mov dword [ecx], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x2c]
mov edx, ebp
mov ebp, dword [esp + 0x98]
cmp edx, 0x50
jl 0x5c8ee9
jmp 0x5c8c51
mov dword [esp + 0x70], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xd8], ebx
lea edi, [esp + esi*8 + 0x15c]
mov ecx, dword [edi]
mov dword [esp + 0xd4], ecx
mov edi, dword [edi + 4]
mov dword [esp + 0xd0], edi
mov edx, dword [0x82fca8]
lea edx, [edx + esi*8]
mov edi, dword [edx]
mov dword [esp + 0xcc], edi
mov edx, dword [edx + 4]
mov dword [esp + 0xc8], edx
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xc]
and ecx, edx
mov ebp, dword [esp + 8]
mov ebx, dword [esp + 0xa0]
and ebp, ebx
mov edi, dword [esp + 0xa4]
and edi, eax
xor edi, ecx
mov ecx, dword [esp + 0x6c]
and ebx, ecx
xor ebx, ebp
mov ebp, edx
and ebp, eax
xor ebp, edi
mov dword [esp + 0xc4], ebp
mov edi, dword [esp + 8]
and edi, ecx
xor ebx, edi
mov edi, dword [esp + 0xa0]
shl edi, 4
mov eax, dword [esp + 0xa4]
shl eax, 4
mov ecx, dword [esp + 0xa0]
shr ecx, 0x1c
or eax, ecx
mov ecx, dword [esp + 0xa4]
shr ecx, 0x1c
or ecx, edi
mov edi, dword [esp + 0xa0]
shr edi, 2
mov edx, dword [esp + 0xa4]
shl edx, 0x1e
or edx, edi
xor edx, ecx
mov ecx, dword [esp + 0xa0]
mov edi, ecx
shl ecx, 0x1e
mov ebp, dword [esp + 0xa4]
shr ebp, 2
or ebp, ecx
xor eax, ebp
mov ecx, edi
shr edi, 7
mov ebp, dword [esp + 0xa4]
shl ebp, 0x19
or edi, ebp
xor edx, edi
shl ecx, 0x19
mov edi, dword [esp + 0xa4]
shr edi, 7
or edi, ecx
xor eax, edi
lea ecx, [esi + 1]
mov dword [esp + 0x8c], ecx
mov edi, dword [esp + 0xcc]
mov esi, dword [esp + 0xd8]
add edi, esi
mov esi, dword [esp + 0xc8]
mov ecx, dword [esp + 0xbc]
adc esi, ecx
mov ecx, dword [esp + 0xd4]
add edi, ecx
mov ecx, dword [esp + 0xd0]
adc ecx, esi
add ebx, eax
mov eax, dword [esp + 0xc4]
adc edx, eax
mov eax, dword [esp + 0x10]
add eax, edi
mov esi, dword [esp + 0x14]
adc esi, ecx
add ebx, edi
adc edx, ecx
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x3c]
mov edi, eax
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0xe0]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe4], edi
mov edi, dword [esp + 0xa4]
mov dword [esp + 0xc], edi
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x54], ebp
mov esi, dword [esp + 0x8c]
cmp esi, 0x50
jge 0x5c8a77
mov dword [esp + 0x74], edi
mov dword [esp + 0x14], edx
mov dword [esp + 0xa0], ebx
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x78]
and edx, ebx
mov esi, dword [esp + 0x3c]
and esi, edi
not ebx
xchg edi, ebx
not ebx
xchg edi, ebx
mov ebp, dword [esp + 0x24]
and ebx, ebp
xor ebx, edx
mov dword [esp + 0xd8], ebx
and edi, ecx
xor edi, esi
mov dword [esp + 0xd4], edi
mov edx, dword [0x82fcac]
mov dword [esp + 0xc0], edx
mov esi, dword [esp + 0x74]
shl esi, 0x12
mov ebp, dword [esp + 0x74]
shr ebp, 0xe
mov edx, dword [esp + 0x78]
shl edx, 0x12
or edx, ebp
mov ebp, dword [esp + 0x78]
shr ebp, 0xe
or ebp, esi
mov esi, dword [esp + 0x74]
shl esi, 0xe
mov ebx, dword [esp + 0x78]
shl ebx, 0xe
mov edi, dword [esp + 0x74]
shr edi, 0x12
or ebx, edi
xor ebx, edx
mov edx, dword [esp + 0x78]
mov edi, edx
shr edx, 0x12
or edx, esi
xor edx, ebp
mov ebp, dword [esp + 0x74]
mov esi, ebp
shr ebp, 9
shl edi, 0x17
or ebp, edi
xor ebp, edx
shl esi, 0x17
mov edi, dword [esp + 0x78]
shr edi, 9
or edi, esi
xor ebx, edi
mov esi, dword [esp + 0x54]
add ebx, esi
mov esi, dword [esp + 0x58]
adc ebp, esi
mov esi, dword [esp + 0xd4]
add ebx, esi
mov esi, dword [esp + 0xd8]
adc ebp, esi
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0xc0]
cmp esi, edi
jb 0x5c909c
mov eax, esi
mov ecx, edi
call fcn.00467cb0
mov eax, ebp
mov ecx, esi
call fcn.00467cb0
mov eax, edx
mov ecx, esi
call fcn.00467cb0
mov eax, edi
mov ecx, esi
call fcn.00467cb0
mov ecx, esi
call fcn.00467cb0
mov ecx, esi
call fcn.00467cb0
mov ecx, esi
call fcn.00467cb0
mov ecx, esi
call fcn.00467cb0
mov eax, edx
mov ecx, esi
call fcn.00467cb0
nop
call fcn.00466840
jmp fcn.005c8990