Function at 0x5772e0
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 0x577dd3
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 + 0x68], ebx
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x50], ebx
mov ebx, dword [edx + 0x1c]
mov dword [esp + 0x54], ebx
mov ebx, dword [edx + 0x20]
mov dword [esp + 0x80], ebx
mov ebx, dword [edx + 0x24]
mov dword [esp + 0x84], ebx
mov ebx, dword [edx + 0x28]
mov dword [esp + 0x38], ebx
mov ebx, dword [edx + 0x2c]
mov dword [esp + 0x3c], ebx
mov ebx, dword [edx + 0x30]
mov dword [esp + 0xa4], ebx
mov ebx, dword [edx + 0x34]
mov dword [esp + 0xa8], 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 0x577565
mov edx, dword [esp + 0x28]
add eax, edx
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x2c]
adc ebp, edx
mov edx, dword [esp + 0x90]
add esi, edx
mov edx, dword [esp + 0x94]
adc ecx, edx
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x64]
add edi, edx
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x68]
adc edx, eax
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x50]
add eax, ecx
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x54]
adc ecx, eax
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0x80]
add ebx, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x84]
adc eax, ecx
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 8]
add ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xc]
adc eax, ecx
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x18]
add ecx, eax
mov dword [esp + 0xa4], ecx
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x1c]
adc eax, ecx
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x48]
add ecx, eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x4c]
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 + 0x54], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x188], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x180], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0xd4]
cmp edx, 0x80
jl 0x5776ba
mov dword [esp + 0x48], ebx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x64], edi
mov dword [esp + 0x90], esi
mov dword [esp + 0x178], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x178]
jmp 0x57775e
mov ebx, 0x10
jmp 0x5778cb
mov dword [esp + 0x28], eax
mov dword [esp + 0x94], ecx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x170], eax
xor eax, eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x168], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x160], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x158], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 8], ebx
mov dword [esp + 0x150], ebp
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x148], esi
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x18], 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 + 0x68]
mov dword [esp + 0x44], eax
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x130], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 0xac], ebp
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x128], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x14], 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 0x577c4d
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 + 0x68]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x50]
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x54]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x80]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x84]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x3c]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0xa4]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0xa8]
mov dword [edx + 0x34], eax
mov dword [edx + 0x38], ebx
mov eax, dword [esp + 0x4c]
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 + 0x2c]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x48]
mov ebx, dword [esp + 0x60]
cmp ebx, 0x10
jge 0x5775a8
shl ebx, 3
cmp edx, ebx
jbe 0x577dc9
mov dword [esp + 0x98], ebx
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x438]
lea edi, [esi + ebp*8]
movzx edi, byte [edi]
inc ebx
cmp edx, ebx
jbe 0x577dc0
shl edi, 0x18
lea ebx, [esi + ebp*8 + 1]
movzx ebx, byte [ebx]
shl ebx, 0x10
or ebx, edi
mov edi, dword [esp + 0x98]
add edi, 2
cmp edx, edi
jbe 0x577db7
lea edi, [esi + ebp*8 + 2]
movzx edi, byte [edi]
shl edi, 8
or edi, ebx
mov ebx, dword [esp + 0x98]
add ebx, 3
cmp edx, ebx
jbe 0x577dae
lea ebx, [esi + ebp*8 + 3]
movzx ebx, byte [ebx]
or ebx, edi
mov edi, dword [esp + 0x98]
add edi, 4
cmp edx, edi
jbe 0x577da5
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 + 0x98]
add edi, 5
cmp edx, edi
jbe 0x577d9c
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 + 0x98]
add ebx, 6
cmp edx, ebx
jbe 0x577d93
mov ebx, dword [esp + 0x60]
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 + 0x98]
add edi, 7
cmp edx, edi
jbe 0x577d8a
mov edi, dword [esp + 0x60]
lea esi, [esi + edi*8 + 7]
movzx esi, byte [esi]
or esi, ebx
cmp edi, 0x50
jb 0x57772b
jmp 0x577d7e
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 + 0x2c]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x64]
cmp ebx, 0x50
jge 0x5775b2
lea edx, [ebx - 2]
cmp edx, 0x50
jae 0x577d72
lea edx, [esp + ebx*8 + 0x1a8]
mov ebp, dword [edx + 4]
mov dword [esp + 0x8c], ebp
mov edx, dword [edx]
mov dword [esp + 0x88], edx
shl edx, 0xd
shr ebp, 0x13
or ebp, edx
mov edx, dword [esp + 0x8c]
shl edx, 3
mov esi, dword [esp + 0x88]
shr esi, 0x1d
or esi, edx
xor esi, ebp
mov edx, dword [esp + 0x8c]
mov ebp, edx
shl edx, 0xd
mov edi, dword [esp + 0x88]
shr edi, 0x13
or edx, edi
mov edi, dword [esp + 0x88]
shl edi, 3
shr ebp, 0x1d
or ebp, edi
xor edx, ebp
mov ebp, dword [esp + 0x88]
shr ebp, 6
mov edi, dword [esp + 0x8c]
shl edi, 0x1a
or edi, ebp
xor edi, edx
mov edx, dword [esp + 0x8c]
shr edx, 6
xor esi, edx
lea edx, [ebx - 0xf]
cmp edx, 0x50
jae 0x577d66
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], edi
lea edx, [esp + ebx*8 + 0x140]
mov ebp, dword [edx + 4]
mov dword [esp + 0x24], ebp
mov edx, dword [edx]
mov dword [esp + 0x20], edx
shl edx, 0x1f
shr ebp, 1
or ebp, edx
mov edx, dword [esp + 0x20]
shl edx, 0x18
mov esi, dword [esp + 0x24]
shr esi, 8
or esi, edx
xor esi, ebp
mov edx, dword [esp + 0x20]
mov ebp, edx
shr edx, 1
mov edi, dword [esp + 0x24]
shl edi, 0x1f
or edi, edx
mov edx, ebp
shr ebp, 8
mov ebx, dword [esp + 0x24]
shl ebx, 0x18
or ebx, ebp
xor ebx, edi
shr edx, 7
mov ebp, dword [esp + 0x24]
mov edi, ebp
shl ebp, 0x19
or ebp, edx
xor ebp, ebx
shr edi, 7
xor esi, edi
mov edx, dword [esp + 0x5c]
lea ebx, [edx - 7]
cmp ebx, 0x50
jae 0x577d5a
lea ebx, [esp + edx*8 + 0x180]
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
mov edx, dword [esp + 0x70]
add edx, edi
mov edi, dword [esp + 0x74]
adc edi, ebx
add edx, ebp
adc edi, esi
mov ebx, dword [esp + 0x5c]
lea ebp, [ebx - 0x10]
cmp ebp, 0x50
jae 0x577d4e
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 0x5778a2
jmp 0x577d42
mov dword [esp + 0x34], ecx
mov dword [esp + 0x9c], 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 + 0x6c], ebx
adc edx, esi
mov dword [esp + 0xc8], edx
mov esi, eax
shl eax, 4
mov edi, dword [esp + 0xa0]
shr edi, 0x1c
or edi, eax
mov eax, esi
shr esi, 2
mov ebp, dword [esp + 0xa0]
shl ebp, 0x1e
or ebp, esi
xor ebp, edi
mov esi, dword [esp + 0xa0]
mov edi, esi
shl esi, 4
shr eax, 0x1c
or eax, esi
mov esi, dword [esp + 0x9c]
shl esi, 0x1e
shr edi, 2
or edi, esi
xor eax, edi
mov esi, dword [esp + 0x9c]
mov edi, esi
shr esi, 7
mov edx, dword [esp + 0xa0]
shl edx, 0x19
or esi, edx
xor ebp, esi
mov dword [esp + 0xcc], ebp
mov esi, edi
shl edi, 0x19
mov edx, dword [esp + 0xa0]
shr edx, 7
or edx, edi
xor eax, edx
mov edx, dword [esp + 0xa0]
mov edi, edx
and edx, ecx
mov ebx, dword [esp + 0x30]
and esi, ebx
mov ebp, dword [esp + 0x44]
and ebp, edi
xor ebp, edx
mov edx, dword [esp + 0x9c]
mov edi, dword [esp + 0x40]
and edx, edi
xor edx, esi
mov esi, dword [esp + 0x44]
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 + 0xac]
mov edx, dword [esp + 0x6c]
add ebx, edx
mov dword [esp + 0xcc], ebx
mov ecx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xb0]
adc ebx, ecx
add eax, edx
adc ebp, ecx
mov ecx, dword [esp + 0x58]
inc ecx
mov edx, dword [esp + 0xcc]
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x110], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x108], ebp
mov ebp, dword [esp + 8]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x108]
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xf8], ebp
mov ebp, dword [esp + 0x40]
mov dword [esp + 0xac], ebp
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0xf0], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xc], ebx
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 8], edi
mov dword [esp + 0xe0], ebp
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x44], ebp
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x120]
mov ebp, dword [esp + 0x108]
mov ebx, dword [esp + 0xcc]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0xd4]
mov edx, dword [esp + 0x58]
cmp edx, 0x50
jge 0x5773d8
mov dword [esp + 0x40], edi
mov dword [esp + 0x30], esi
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x10], ebx
shl ebx, 0x12
mov edi, dword [esp + 0x14]
shr edi, 0xe
or edi, ebx
mov ebx, dword [esp + 0x10]
shl ebx, 0xe
mov esi, dword [esp + 0x14]
shr esi, 0x12
or esi, ebx
xor edi, esi
mov ebx, dword [esp + 0x10]
mov esi, ebx
shr ebx, 0xe
mov ebp, dword [esp + 0x14]
shl ebp, 0x12
or ebp, ebx
mov ebx, dword [esp + 0x14]
shl ebx, 0xe
shr esi, 0x12
or ebx, esi
xor ebx, ebp
mov ebp, dword [esp + 0x10]
mov esi, ebp
shr ebp, 9
mov edx, dword [esp + 0x14]
shl edx, 0x17
or ebp, edx
xor ebp, edi
mov edx, esi
shl esi, 0x17
mov edi, dword [esp + 0x14]
shr edi, 9
or edi, esi
xor ebx, edi
mov esi, dword [esp + 0x78]
add ebx, esi
mov esi, dword [esp + 0x7c]
adc ebp, esi
mov dword [esp + 0xc8], ebp
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
and esi, edi
mov edi, dword [esp + 8]
and edx, edi
mov edi, dword [esp + 0x14]
xchg edi, ebx
not ebx
xchg edi, ebx
mov ebp, dword [esp + 0x1c]
and edi, ebp
xor edi, esi
mov esi, dword [esp + 0x10]
xchg esi, ebx
not ebx
xchg esi, ebx
mov ebp, dword [esp + 0x18]
and esi, ebp
xor esi, edx
add ebx, esi
mov edx, dword [esp + 0xc8]
adc edx, edi
mov esi, dword [0x70761c]
mov edi, dword [0x707618]
mov ebp, dword [esp + 0x58]
cmp ebp, esi
jb 0x577a3d
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.005772e0