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

Disassembly:
mov ecx, dword [0x9aee30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x3b0]
cmp eax, dword [ecx + 8]
jbe 0x571c9b
sub esp, 0x430
lea edi, [esp + 0x88]
mov ecx, 0xa0
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x434]
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
mov esi, dword [edx + 8]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x30c], eax
mov ecx, dword [edx + 0x10]
mov edi, dword [edx + 0x14]
mov eax, dword [edx + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0x20]
mov dword [esp + 0x5c], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x60], eax
mov eax, dword [edx + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x30]
mov dword [esp + 0x2c], eax
mov eax, dword [edx + 0x34]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x38]
mov edx, dword [edx + 0x3c]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x43c]
mov dword [esp + 0x424], eax
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x438]
mov dword [esp + 0x42c], ecx
mov dword [esp + 0x3d8], edx
mov edx, dword [esp + 0x440]
mov dword [esp + 0x420], edx
mov eax, dword [esp + 0x3e8]
mov edx, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3e0]
jmp 0x5714a0
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x420]
add edx, 0xffffff80
mov dword [esp + 0x420], edx
neg edx
sar edx, 0x1f
and edx, 0x80
mov eax, dword [esp + 0x42c]
add eax, edx
mov dword [esp + 0x42c], eax
mov edx, dword [esp + 0x424]
add edx, 0xffffff80
mov dword [esp + 0x424], edx
mov eax, dword [esp + 0x70]
add ebp, eax
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x74]
adc eax, edx
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x308]
add esi, edx
mov edx, dword [esp + 0x31c]
mov eax, dword [esp + 0x30c]
adc eax, edx
mov dword [esp + 0x400], eax
mov edx, dword [esp + 0x54]
add ecx, edx
mov edx, dword [esp + 0x58]
adc edi, edx
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x78]
add eax, edx
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x7c]
adc eax, edx
mov dword [esp + 0x3fc], eax
mov edx, dword [esp + 0x5c]
add edx, ebx
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
adc eax, ebx
mov dword [esp + 0x3f8], eax
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
add eax, ebx
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
adc eax, ebx
mov dword [esp + 0x3f4], eax
mov ebx, dword [esp + 0x320]
mov eax, dword [esp + 0x2c]
add eax, ebx
mov dword [esp + 0x2c], eax
mov ebx, dword [esp + 0x324]
mov eax, dword [esp + 0x30]
adc eax, ebx
mov dword [esp + 0x3f0], eax
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x14]
add eax, ebx
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x48]
adc ebx, eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
mov edx, ebx
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x30c], ebx
mov ebx, dword [esp + 0x404]
mov ebx, dword [esp + 0x3f0]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x3fc]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x3d0]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x404]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x424]
cmp edx, 0x80
jl 0x5715ef
mov dword [esp + 0x44], eax
mov dword [esp + 0x308], esi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x3c8], eax
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c8]
jmp 0x571695
mov ebx, 0x10
jmp 0x5718e5
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x3c0], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3b8], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3b0], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x324], edx
mov dword [esp + 0x3a8], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x320], ebx
mov dword [esp + 0x3a0], ebp
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x84], ebp
mov ebp, dword [esp + 0x3a0]
mov dword [esp + 0x398], ebp
mov ebp, dword [esp + 0x30c]
mov dword [esp + 0x31c], ebp
mov ecx, dword [esp + 0x3b8]
mov ebx, dword [esp + 0x3a8]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], eax
mov dword [esp + 0x380], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x378], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x78], esi
mov edx, dword [esp + 0x3b0]
mov ebp, dword [esp + 0x3a0]
mov ecx, dword [esp + 0x3b8]
mov eax, dword [esp + 0x3c0]
mov ebx, dword [esp + 0x3a8]
mov esi, dword [esp + 0x378]
jmp 0x571b5c
mov edx, dword [esp + 0x434]
mov dword [edx], ebp
mov dword [edx + 4], ebx
mov dword [edx + 8], esi
mov ebx, dword [esp + 0x30c]
mov dword [edx + 0xc], ebx
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], edi
mov ecx, dword [esp + 0x24]
mov dword [edx + 0x18], ecx
mov ecx, dword [esp + 0x28]
mov dword [edx + 0x1c], ecx
mov ecx, dword [esp + 0x5c]
mov dword [edx + 0x20], ecx
mov ecx, dword [esp + 0x60]
mov dword [edx + 0x24], ecx
mov ecx, dword [esp + 0x1c]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x20]
mov dword [edx + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [edx + 0x30], ecx
mov ecx, dword [esp + 0x30]
mov dword [edx + 0x34], ecx
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x48]
mov dword [edx + 0x3c], eax
add esp, 0x430
ret
lea ecx, [esp + ebx*8 + 0x88]
mov ebp, dword [esp + 0x42c]
lea esi, [ebp + ebx*8 + 7]
movzx esi, byte [esi]
or edi, esi
mov dword [ecx], edi
mov dword [ecx + 4], eax
lea eax, [ebx + 1]
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x308]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x10]
cmp ebx, 0x10
jge 0x5714eb
shl ebx, 3
cmp edx, ebx
jbe 0x571c91
lea eax, [ebx + 1]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x42c]
lea ecx, [esi + ebp*8]
cmp edx, eax
jbe 0x571c8a
lea eax, [ebx + 2]
cmp edx, eax
jbe 0x571c83
lea eax, [ebx + 3]
cmp edx, eax
jbe 0x571c7c
lea eax, [ebx + 4]
cmp edx, eax
jbe 0x571c75
mov eax, dword [ecx]
bswap eax
lea ecx, [esi + ebp*8 + 4]
movzx ecx, byte [ecx]
mov dword [esp + 0x41c], ecx
shr ecx, 8
lea edi, [ebx + 5]
or eax, ecx
cmp edx, edi
jbe 0x571c6c
mov dword [esp + 0x6c], ebx
mov edi, dword [esp + 0x41c]
shl edi, 0x18
lea ecx, [esi + ebp*8 + 5]
movzx ecx, byte [ecx]
mov dword [esp + 0x41c], ecx
shr ecx, 0x10
mov ebp, dword [esp + 0x41c]
shl ebp, 0x10
add ebx, 6
or ebp, edi
or ecx, eax
cmp edx, ebx
jbe 0x571c63
mov ebx, dword [esp + 0x10]
lea edi, [esi + ebx*8 + 6]
movzx edi, byte [edi]
mov eax, edi
shl edi, 8
shr eax, 0x18
mov esi, dword [esp + 0x6c]
add esi, 7
or edi, ebp
or eax, ecx
cmp edx, esi
ja 0x571657
jmp 0x571c5a
mov dword [esp + 0xc], ebx
lea edx, [esp + ebx*8 + 0x78]
mov eax, dword [edx + 4]
mov dword [esp + 0x40], eax
mov edx, dword [edx]
mov dword [esp + 0x3c], edx
shr eax, 6
shr edx, 6
mov ecx, dword [esp + 0x40]
shl ecx, 0x1a
or ecx, edx
lea edx, [esp + ebx*8 + 0x10]
mov ebp, dword [edx + 4]
mov dword [esp + 0x50], ebp
mov edx, dword [edx]
mov dword [esp + 0x4c], edx
shr ebp, 7
mov dword [esp + 0x41c], ebp
shr edx, 7
mov esi, dword [esp + 0x50]
shl esi, 0x19
or esi, edx
mov dword [esp + 0x418], esi
lea edx, [esp + ebx*8 + 0x88]
mov dword [esp + 0x428], edx
lea edi, [esp + ebx*8 + 0x50]
mov edx, dword [edi]
mov dword [esp + 0x414], edx
mov edi, dword [edi + 4]
mov dword [esp + 0x410], edi
lea edi, [esp + ebx*8 + 8]
mov edx, dword [edi]
mov dword [esp + 0x40c], edx
mov edi, dword [edi + 4]
mov dword [esp + 0x408], edi
mov edi, dword [esp + 0x3c]
shl edi, 0xd
mov edx, dword [esp + 0x40]
shl edx, 0xd
mov ebx, dword [esp + 0x3c]
shr ebx, 0x13
or edx, ebx
mov ebx, dword [esp + 0x40]
shr ebx, 0x13
or ebx, edi
mov edi, dword [esp + 0x40]
shl edi, 3
mov esi, dword [esp + 0x3c]
shl esi, 3
mov ebp, dword [esp + 0x3c]
shr ebp, 0x1d
or ebp, edi
xor ebp, ebx
xor ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x1d
or eax, esi
xor edx, eax
xor ecx, edx
mov eax, dword [esp + 0x4c]
mov edx, eax
shl eax, 0x1f
mov ebx, edx
shr edx, 1
mov esi, dword [esp + 0x50]
mov edi, esi
shl esi, 0x1f
or esi, edx
mov edx, edi
shr edi, 1
or edi, eax
mov eax, ebx
shl ebx, 0x18
shr edx, 8
or edx, ebx
xor edi, edx
mov edx, dword [esp + 0x41c]
xor edi, edx
shr eax, 8
mov edx, dword [esp + 0x50]
shl edx, 0x18
or edx, eax
xor edx, esi
mov eax, dword [esp + 0x418]
xor eax, edx
mov edx, dword [esp + 0xc]
lea ebx, [edx + 1]
mov edx, dword [esp + 0x414]
add ecx, edx
mov edx, dword [esp + 0x410]
adc ebp, edx
add ecx, eax
adc ebp, edi
mov eax, dword [esp + 0x40c]
add eax, ecx
mov ecx, dword [esp + 0x428]
mov dword [ecx], eax
mov eax, dword [esp + 0x408]
adc eax, ebp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x424]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x308]
mov edi, dword [esp + 0x58]
cmp ebx, 0x50
jl 0x57176c
jmp 0x5714f5
mov dword [esp + 0x404], ebx
lea ecx, [esp + eax*8 + 0x88]
mov esi, dword [ecx]
mov dword [esp + 0x41c], esi
mov ecx, dword [ecx + 4]
mov dword [esp + 0x418], ecx
mov edi, dword [0x9660c0]
lea edi, [edi + eax*8]
mov edx, dword [edi]
mov dword [esp + 0x414], edx
mov edi, dword [edi + 4]
mov dword [esp + 0x410], edi
mov ecx, dword [esp + 0x31c]
mov esi, dword [esp + 0x84]
and ecx, esi
mov ebx, dword [esp + 0x318]
mov edi, dword [esp + 0x80]
and ebx, edi
mov edx, dword [esp + 0x314]
and esi, edx
xor esi, ecx
mov ecx, dword [esp + 0x310]
and edi, ecx
xor edi, ebx
mov ebx, dword [esp + 0x31c]
and ebx, edx
mov edx, dword [esp + 0x318]
and edx, ecx
xor ebx, esi
mov dword [esp + 0x40c], ebx
xor edx, edi
mov dword [esp + 0x408], edx
mov esi, dword [esp + 0x80]
mov edi, esi
shl edi, 4
mov ecx, dword [esp + 0x84]
shl ecx, 4
shr esi, 0x1c
or ecx, esi
mov esi, dword [esp + 0x84]
shr esi, 0x1c
or esi, edi
mov edi, dword [esp + 0x80]
shr edi, 2
mov ebx, dword [esp + 0x84]
shl ebx, 0x1e
or ebx, edi
xor ebx, esi
mov esi, dword [esp + 0x80]
mov edi, esi
shl edi, 0x1e
mov edx, dword [esp + 0x84]
shr edx, 2
or edx, edi
xor ecx, edx
mov edx, esi
shr edx, 7
mov edi, dword [esp + 0x84]
shl edi, 0x19
or edx, edi
xor ebx, edx
mov edx, esi
shl edx, 0x19
mov edi, dword [esp + 0x84]
shr edi, 7
or edi, edx
xor ecx, edi
inc eax
mov dword [esp + 8], eax
mov edx, dword [esp + 0x414]
add ebp, edx
mov edx, dword [esp + 0x410]
mov edi, dword [esp + 0x404]
adc edx, edi
mov edi, dword [esp + 0x41c]
add ebp, edi
mov edi, dword [esp + 0x418]
adc edi, edx
mov edx, dword [esp + 0x408]
add ecx, edx
mov edx, dword [esp + 0x40c]
adc ebx, edx
mov edx, dword [esp + 0x78]
add edx, ebp
mov eax, dword [esp + 0x7c]
adc eax, edi
add ebp, ecx
adc ebx, edi
mov ecx, dword [esp + 0x310]
mov edi, dword [esp + 0x314]
mov edi, dword [esp + 0x31c]
mov ecx, dword [esp + 0x318]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x324]
mov dword [esp + 0x18], eax
mov dword [esp + 0x368], edx
mov edx, dword [esp + 0x314]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x360], ebx
mov ebx, dword [esp + 0x310]
mov dword [esp + 0x78], ebx
mov edx, dword [esp + 0x424]
mov dword [esp + 0x358], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x324], ebx
mov dword [esp + 0x350], ebp
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x31c], ebp
mov ebx, dword [esp + 0x368]
mov eax, dword [esp + 0x320]
mov dword [esp + 0x348], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x340], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x320], esi
mov dword [esp + 0x338], edx
mov edx, dword [esp + 0x360]
mov dword [esp + 0x84], edx
mov dword [esp + 0x330], edx
mov edx, dword [esp + 0x370]
mov dword [esp + 0x68], edx
mov ebp, dword [esp + 0x350]
mov dword [esp + 0x328], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x368]
mov esi, dword [esp + 0x340]
mov edx, dword [esp + 0x424]
mov edx, dword [esp + 8]
cmp edx, 0x50
jge 0x571327
mov dword [esp + 0x64], ebx
mov dword [esp + 0x314], edi
mov dword [esp + 0x310], ecx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x318], esi
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x68]
and edi, ebp
mov esi, dword [esp + 0x34]
and esi, ebx
xchg ebp, ebx
not ebx
xchg ebp, ebx
not ebx
mov ecx, dword [0x9660c4]
mov edx, dword [esp + 0x324]
and ebp, edx
xor ebp, edi
mov dword [esp + 0x41c], ebp
mov edi, dword [esp + 0x320]
and ebx, edi
xor ebx, esi
mov dword [esp + 0x418], ebx
mov esi, dword [esp + 0x64]
shl esi, 0x12
mov edx, dword [esp + 0x64]
shr edx, 0xe
mov edi, dword [esp + 0x68]
shl edi, 0x12
or edi, edx
mov edx, dword [esp + 0x68]
shr edx, 0xe
or edx, esi
mov esi, dword [esp + 0x64]
shl esi, 0xe
mov ebp, dword [esp + 0x68]
shl ebp, 0xe
mov ebx, dword [esp + 0x64]
shr ebx, 0x12
or ebp, ebx
xor ebp, edi
mov ebx, dword [esp + 0x68]
mov edi, ebx
shr ebx, 0x12
or ebx, esi
xor edx, ebx
mov ebx, dword [esp + 0x64]
mov esi, ebx
shr ebx, 9
shl edi, 0x17
or ebx, edi
xor ebx, edx
shl esi, 0x17
mov edi, dword [esp + 0x68]
shr edi, 9
or edi, esi
xor ebp, edi
add ebp, eax
mov esi, dword [esp + 0x18]
adc ebx, esi
mov esi, dword [esp + 0x418]
add ebp, esi
mov esi, dword [esp + 0x41c]
adc ebx, esi
mov eax, dword [esp + 8]
cmp eax, ecx
jb 0x5718f3
call fcn.0046c910
mov eax, esi
mov ecx, edx
call fcn.0046c910
mov eax, ebx
mov ecx, edx
call fcn.0046c910
mov eax, edi
mov ecx, edx
call fcn.0046c910
mov ecx, edx
call fcn.0046c910
mov ecx, edx
call fcn.0046c910
mov ecx, edx
call fcn.0046c910
mov ecx, edx
call fcn.0046c910
mov eax, ebx
mov ecx, edx
call fcn.0046c910
nop
call fcn.0046b490
jmp fcn.00571240