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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x3bc]
cmp eax, dword [ecx + 8]
jbe 0x577e23
sub esp, 0x43c
lea edi, [esp + 0x1b8]
mov ecx, 0xa0
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x440]
mov ebx, dword [edx]
mov ebp, dword [edx + 4]
mov esi, dword [edx + 8]
mov eax, ebx
mov ebx, dword [edx + 0xc]
mov ecx, ebx
mov ebx, dword [edx + 0x10]
mov edi, ebx
mov ebx, dword [edx + 0x14]
mov dword [esp + 0xb0], ebx
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x1c], ebx
mov ebx, dword [edx + 0x1c]
mov dword [esp + 0x20], ebx
mov ebx, dword [edx + 0x20]
mov dword [esp + 0x6c], ebx
mov ebx, dword [edx + 0x24]
mov dword [esp + 0x70], ebx
mov ebx, dword [edx + 0x28]
mov dword [esp + 0x5c], ebx
mov ebx, dword [edx + 0x2c]
mov dword [esp + 0x60], ebx
mov ebx, dword [edx + 0x30]
mov dword [esp + 0x14], ebx
mov ebx, dword [edx + 0x34]
mov dword [esp + 0x18], ebx
mov ebx, dword [edx + 0x38]
mov edx, dword [edx + 0x3c]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x448]
mov dword [esp + 0xd4], eax
mov dword [esp + 0x1a8], ecx
mov ecx, dword [esp + 0x444]
mov dword [esp + 0x438], ecx
mov dword [esp + 0x1a0], edx
mov edx, dword [esp + 0x44c]
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x1a0]
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1a8]
jmp 0x5775c7
mov edx, dword [esp + 0x4c]
add eax, edx
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0x50]
adc ebp, edx
mov edx, dword [esp + 0x64]
add esi, edx
mov edx, dword [esp + 0x68]
adc ecx, edx
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0xac]
add edi, edx
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0xb0]
adc edx, eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x1c]
add eax, ecx
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x20]
adc ecx, eax
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0x6c]
add ebx, eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x70]
adc eax, ecx
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x34]
add ecx, eax
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
adc eax, ecx
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 8]
add ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
adc eax, ecx
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x74]
add ecx, eax
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x78]
adc eax, ecx
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0xd0]
add ecx, 0xffffff80
mov dword [esp + 0xd0], ecx
neg ecx
sar ecx, 0x1f
and ecx, 0x80
mov eax, dword [esp + 0x438]
add eax, ecx
mov ecx, dword [esp + 0xd4]
add ecx, 0xffffff80
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x438], eax
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0xb0], edx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x188], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x60], edx
mov dword [esp + 0x180], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x74]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xd4]
cmp edx, 0x80
jl 0x577716
mov dword [esp + 0x74], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0xac], edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x178], eax
xor eax, eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x178]
jmp 0x5777b4
mov ebx, 0x10
jmp 0x577918
mov dword [esp + 0x4c], eax
mov dword [esp + 0x68], ecx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x170], eax
xor eax, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x30], eax
mov dword [esp + 0x168], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x160], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x38], edx
mov dword [esp + 0x158], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x150], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x148], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 8], esi
mov ebp, dword [esp + 0x150]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x168]
mov esi, dword [esp + 0x148]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x94], eax
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x130], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x7c], ebp
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x128], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x48], ebx
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x168]
mov ebp, dword [esp + 0x150]
mov ebx, dword [esp + 0x158]
jmp 0x577c94
mov edx, dword [esp + 0x440]
mov dword [edx], eax
mov dword [edx + 4], ebp
mov dword [edx + 8], esi
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], edi
mov eax, dword [esp + 0xb0]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x1c]
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x6c]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x70]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x5c]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x60]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x14]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x18]
mov dword [edx + 0x34], eax
mov dword [edx + 0x38], ebx
mov eax, dword [esp + 0x78]
mov dword [edx + 0x3c], eax
add esp, 0x43c
ret
lea ebx, [esp + edi*8 + 0x1b8]
mov dword [ebx], esi
lea ebx, [esp + edi*8 + 0x1bc]
mov dword [ebx], ebp
lea ebx, [edi + 1]
mov ebp, dword [esp + 0x438]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0xac]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x74]
mov ebx, dword [esp + 0xa8]
cmp ebx, 0x10
jge 0x57760d
shl ebx, 3
cmp edx, ebx
jbe 0x577e19
mov dword [esp + 0x10], ebx
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x438]
lea edi, [esi + ebp*8]
movzx edi, byte [edi]
inc ebx
cmp edx, ebx
jbe 0x577e10
shl edi, 0x18
lea ebx, [esi + ebp*8 + 1]
movzx ebx, byte [ebx]
shl ebx, 0x10
or ebx, edi
mov edi, dword [esp + 0x10]
add edi, 2
cmp edx, edi
jbe 0x577e07
lea edi, [esi + ebp*8 + 2]
movzx edi, byte [edi]
shl edi, 8
or edi, ebx
mov ebx, dword [esp + 0x10]
add ebx, 3
cmp edx, ebx
jbe 0x577dfe
lea ebx, [esi + ebp*8 + 3]
movzx ebx, byte [ebx]
or ebx, edi
mov edi, dword [esp + 0x10]
add edi, 4
cmp edx, edi
jbe 0x577df5
lea edi, [esi + ebp*8 + 4]
movzx edi, byte [edi]
mov dword [esp + 0xcc], edi
shr edi, 8
or ebx, edi
mov edi, dword [esp + 0x10]
add edi, 5
cmp edx, edi
jbe 0x577dec
mov edi, dword [esp + 0xcc]
shl edi, 0x18
lea ebp, [esi + ebp*8 + 5]
movzx ebp, byte [ebp]
mov dword [esp + 0xcc], ebp
shl ebp, 0x10
or ebp, edi
mov edi, dword [esp + 0xcc]
shr edi, 0x10
or edi, ebx
mov ebx, dword [esp + 0x10]
add ebx, 6
cmp edx, ebx
jbe 0x577de3
mov ebx, dword [esp + 0xa8]
lea ebx, [esi + ebx*8 + 6]
movzx ebx, byte [ebx]
mov dword [esp + 0xcc], ebx
shl ebx, 8
or ebx, ebp
mov ebp, dword [esp + 0xcc]
shr ebp, 0x18
or ebp, edi
mov edi, dword [esp + 0x10]
add edi, 7
cmp edx, edi
jbe 0x577dda
mov edi, dword [esp + 0xa8]
lea esi, [esi + edi*8 + 7]
movzx esi, byte [esi]
or esi, ebx
cmp edi, 0x50
jb 0x57777e
jmp 0x577dce
lea edx, [esp + ebx*8 + 0x1b8]
mov dword [edx], esi
lea edx, [esp + ebx*8 + 0x1bc]
mov dword [edx], ebp
inc ebx
mov edx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0xac]
cmp ebx, 0x50
jge 0x577617
lea edx, [ebx - 2]
cmp edx, 0x50
jae 0x577dc2
lea edx, [esp + ebx*8 + 0x1a8]
mov ebp, dword [edx + 4]
mov dword [esp + 0x58], ebp
mov edx, dword [edx]
mov dword [esp + 0x54], edx
shl edx, 0xd
shr ebp, 0x13
or ebp, edx
mov edx, dword [esp + 0x58]
shl edx, 3
mov esi, dword [esp + 0x54]
shr esi, 0x1d
or esi, edx
xor esi, ebp
mov edx, dword [esp + 0x58]
mov ebp, edx
shl edx, 0xd
mov edi, dword [esp + 0x54]
shr edi, 0x13
or edx, edi
mov edi, dword [esp + 0x54]
shl edi, 3
shr ebp, 0x1d
or ebp, edi
xor edx, ebp
mov ebp, dword [esp + 0x54]
shr ebp, 6
mov edi, dword [esp + 0x58]
shl edi, 0x1a
or edi, ebp
xor edi, edx
mov edx, dword [esp + 0x58]
shr edx, 6
xor esi, edx
lea edx, [ebx - 0xf]
cmp edx, 0x50
jae 0x577db6
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], edi
lea edx, [esp + ebx*8 + 0x140]
mov ebp, dword [edx + 4]
mov dword [esp + 0x28], ebp
mov edx, dword [edx]
mov dword [esp + 0x24], edx
shl edx, 0x1f
shr ebp, 1
or ebp, edx
mov edx, dword [esp + 0x24]
shl edx, 0x18
mov esi, dword [esp + 0x28]
shr esi, 8
or esi, edx
xor esi, ebp
mov edx, dword [esp + 0x24]
mov ebp, edx
shr edx, 1
mov edi, dword [esp + 0x28]
shl edi, 0x1f
or edi, edx
mov edx, ebp
shr ebp, 8
mov ebx, dword [esp + 0x28]
shl ebx, 0x18
or ebx, ebp
xor ebx, edi
shr edx, 7
mov ebp, dword [esp + 0x28]
mov edi, ebp
shl ebp, 0x19
or ebp, edx
xor ebp, ebx
shr edi, 7
xor esi, edi
mov edx, dword [esp + 0xa4]
lea ebx, [edx - 7]
cmp ebx, 0x50
jae 0x577daa
lea ebx, [esp + edx*8 + 0x180]
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
mov edx, dword [esp + 0x88]
add edx, edi
mov edi, dword [esp + 0x8c]
adc edi, ebx
add edx, ebp
adc edi, esi
mov ebx, dword [esp + 0xa4]
lea ebp, [ebx - 0x10]
cmp ebp, 0x50
jae 0x577d9e
lea ebp, [esp + ebx*8 + 0x138]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
add esi, edx
adc ebp, edi
cmp ebx, 0x50
jb 0x5778ef
jmp 0x577d92
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x3c], eax
lea esi, [edi + ebp*8]
mov edi, dword [esi]
mov esi, dword [esi + 4]
add ebx, edi
adc esi, edx
lea edx, [esp + ebp*8 + 0x1b8]
mov edi, dword [edx]
mov edx, dword [edx + 4]
add ebx, edi
mov dword [esp + 0x84], ebx
adc edx, esi
mov dword [esp + 0xc8], edx
mov esi, eax
shl eax, 4
mov edi, dword [esp + 0x40]
shr edi, 0x1c
or edi, eax
mov eax, esi
shr esi, 2
mov ebp, dword [esp + 0x40]
shl ebp, 0x1e
or ebp, esi
xor ebp, edi
mov esi, dword [esp + 0x40]
mov edi, esi
shl esi, 4
shr eax, 0x1c
or eax, esi
mov esi, dword [esp + 0x3c]
shl esi, 0x1e
shr edi, 2
or edi, esi
xor eax, edi
mov esi, dword [esp + 0x3c]
mov edi, esi
shr esi, 7
mov edx, dword [esp + 0x40]
shl edx, 0x19
or esi, edx
xor ebp, esi
mov dword [esp + 0xcc], ebp
mov esi, edi
shl edi, 0x19
mov edx, dword [esp + 0x40]
shr edx, 7
or edx, edi
xor eax, edx
mov edx, dword [esp + 0x40]
mov edi, edx
and edx, ecx
mov ebx, dword [esp + 0x98]
and esi, ebx
mov ebp, dword [esp + 0x94]
and ebp, edi
xor ebp, edx
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x90]
and edx, edi
xor edx, esi
mov esi, dword [esp + 0x94]
and esi, ecx
xor ebp, esi
and ebx, edi
xor ebx, edx
add eax, ebx
mov edx, dword [esp + 0xcc]
adc ebp, edx
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
add ebx, edx
mov dword [esp + 0xcc], ebx
mov ecx, dword [esp + 0xc8]
mov ebx, dword [esp + 0x80]
adc ebx, ecx
add eax, edx
adc ebp, ecx
mov ecx, dword [esp + 0xa0]
inc ecx
mov edx, dword [esp + 0xcc]
mov edx, dword [esp + 0xd4]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x110], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x108], ebp
mov ebp, dword [esp + 0x34]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x108]
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x98]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x80], eax
mov dword [esp + 0xf8], ebp
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x7c], ebp
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0xf0], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x38], ebx
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x34], edi
mov dword [esp + 0xe0], ebp
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x94], ebp
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x120]
mov ebp, dword [esp + 0x108]
mov ebx, dword [esp + 0xcc]
mov edi, dword [esp + 0x98]
mov edx, dword [esp + 0xd4]
mov edx, dword [esp + 0xa0]
cmp edx, 0x50
jge 0x57744f
mov dword [esp + 0x90], edi
mov dword [esp + 0x98], esi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
shl ebx, 0x12
mov edi, dword [esp + 0x48]
shr edi, 0xe
or edi, ebx
mov ebx, dword [esp + 0x44]
shl ebx, 0xe
mov esi, dword [esp + 0x48]
shr esi, 0x12
or esi, ebx
xor edi, esi
mov ebx, dword [esp + 0x44]
mov esi, ebx
shr ebx, 0xe
mov ebp, dword [esp + 0x48]
shl ebp, 0x12
or ebp, ebx
mov ebx, dword [esp + 0x48]
shl ebx, 0xe
shr esi, 0x12
or ebx, esi
xor ebx, ebp
mov ebp, dword [esp + 0x44]
mov esi, ebp
shr ebp, 9
mov edx, dword [esp + 0x48]
shl edx, 0x17
or ebp, edx
xor ebp, edi
mov edx, esi
shl esi, 0x17
mov edi, dword [esp + 0x48]
shr edi, 9
or edi, esi
xor ebx, edi
mov esi, dword [esp + 0x2c]
add ebx, esi
mov esi, dword [esp + 0x30]
adc ebp, esi
mov dword [esp + 0xc8], ebp
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x38]
and esi, edi
mov edi, dword [esp + 0x34]
and edx, edi
mov edi, dword [esp + 0x48]
xchg edi, ebx
not ebx
xchg edi, ebx
mov ebp, dword [esp + 0xc]
and edi, ebp
xor edi, esi
mov esi, dword [esp + 0x44]
xchg esi, ebx
not ebx
xchg esi, ebx
mov ebp, dword [esp + 8]
and esi, ebp
xor esi, edx
add ebx, esi
mov edx, dword [esp + 0xc8]
adc edx, edi
mov esi, dword [0x707c2c]
mov edi, dword [0x707c28]
mov ebp, dword [esp + 0xa0]
cmp ebp, esi
jb 0x577a81
mov eax, ebp
mov ecx, esi
call fcn.00456b40
mov eax, ebx
mov ecx, 0x50
call fcn.00456b40
mov eax, ebp
mov ecx, 0x50
call fcn.00456b40
mov eax, ebx
mov ecx, 0x50
call fcn.00456b40
mov eax, edx
mov ecx, 0x50
call fcn.00456b40
mov eax, edx
mov ecx, 0x50
call fcn.00456b40
mov eax, edi
mov ecx, 0x50
call fcn.00456b40
mov eax, edi
mov ecx, edx
call fcn.00456b40
mov eax, ebx
mov ecx, edx
call fcn.00456b40
mov eax, edi
mov ecx, edx
call fcn.00456b40
mov eax, edi
mov ecx, edx
call fcn.00456b40
mov eax, ebx
mov ecx, edx
call fcn.00456b40
mov eax, edi
mov ecx, edx
call fcn.00456b40
mov eax, ebx
mov ecx, edx
call fcn.00456b40
mov eax, ebx
mov ecx, edx
call fcn.00456b40
nop
call fcn.00455690
jmp fcn.00577360