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

Disassembly:
sub esp, 0x58
mov eax, dword [0xa2ea80]
push ebx
push ebp
xor ebx, ebx
push esi
push edi
mov dword [esp + 0x2c], ebx
cmp eax, ebx
je 0x572105
push eax
call fcn.00571e90
add esp, 4
mov dword [0xa2ea80], ebx
mov eax, dword [esp + 0x78]
and dword [eax], 0xffffffcf
mov eax, dword [eax]
mov dword [esp + 0x14], eax
and eax, 7
mov dword [esp + 0x18], ebx
cmp eax, 4
ja case.default.0x572122
jmp dword [eax*4 + 0x572eec]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x5c], eax
call fcn.00572040
mov ebp, dword [esp + 0x74]
mov edi, eax
push edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x64], ebp
call fcn.00571db0
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x57217a
push esi
push edi
call fcn.00571d00
mov ebx, dword [esp + 0x44]
add ebp, esi
add esp, 8
sub ebx, esi
mov dword [esp + 0x70], ebp
mov dword [esp + 0x3c], ebx
jmp 0x57217e
mov ebx, dword [esp + 0x3c]
xor esi, esi
cmp dword [edi + 0x10], esi
jne 0x5721ba
push edi
call fcn.00571390
add esp, 4
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
push 1
push eax
push 0x6fb1dc
mov dword [edx], 1
call fcn.00571e30
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
lea ecx, [esp + 0x34]
push ecx
push edi
call fcn.00571a70
fstp qword [esp + 0x68]
mov edx, dword [esp + 0x6c]
and edx, 0xfffff
or edx, 0x3ff00000
mov dword [esp + 0x6c], edx
fld qword [esp + 0x68]
lea ecx, [ebx + ebp - 1]
fsub qword [0x763bb0]
mov dword [esp + 0x3c], ecx
add esp, 8
cmp ecx, esi
fmul qword [0x763ba8]
mov eax, ecx
fadd qword [0x763ba0]
fild dword [esp + 0x34]
fmul qword [0x763b98]
faddp st(1)
fstp qword [esp + 0x50]
jge 0x572216
neg eax
sub eax, 0x435
cmp eax, esi
jle 0x572233
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x763b90]
addsd xmm0, qword [esp + 0x50]
jmp 0x572239
movsd xmm0, qword [esp + 0x50]
xorps xmm1, xmm1
comisd xmm1, xmm0
cvttsd2si edi, xmm0
mov dword [esp + 0x1c], edi
jbe 0x57225d
cvtsi2sd xmm1, edi
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x57225d
dec edi
mov dword [esp + 0x1c], edi
lea eax, [ebx + ebp - 1]
shl eax, 0x14
add edx, eax
mov dword [esp + 0x4c], 1
mov dword [esp + 0x64], edx
cmp edi, 0x16
ja 0x572291
movsd xmm0, qword [edi*8 + 0x701d48]
comisd xmm0, xmmword [esp + 0x60]
jbe 0x57228d
dec edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x4c], esi
mov eax, ebx
sub eax, ecx
mov edx, 1
sub eax, edx
js 0x5722a4
mov dword [esp + 0x20], esi
jmp 0x5722ac
neg eax
mov dword [esp + 0x20], eax
xor eax, eax
cmp edi, esi
mov dword [esp + 0x24], eax
jl 0x5722c4
add eax, edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x24], eax
jmp 0x5722d4
sub dword [esp + 0x20], edi
mov eax, edi
neg eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x48], esi
mov eax, dword [esp + 0x7c]
cmp eax, esi
jl 0x5722e1
cmp eax, 9
jle 0x5722e7
xor eax, eax
mov dword [esp + 0x7c], eax
cmp eax, 5
mov dword [esp + 0x40], edx
jle 0x5722f9
sub eax, 4
mov dword [esp + 0x7c], eax
jmp 0x572309
cmp ecx, 0x3fa
jge 0x572309
cmp ecx, 0xfffffc02
jge 0x57230d
mov dword [esp + 0x40], esi
or ebp, 0xffffffff
or ebx, ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x38], ebx
cmp eax, 5
ja case.default.0x572323
jmp dword [eax*4 + 0x572f00]
cvtsi2sd xmm0, dword [esp + 0x58]
mulsd xmm0, qword [str.2ZGU]
mov ecx, 3
cvttsd2si edx, xmm0
sub ecx, edx
mov dword [esp + 0x80], 0
jmp case.default.0x572323
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x80]
test ecx, ecx
jg 0x57236c
mov ecx, edx
mov dword [esp + 0x80], ecx
mov ebp, ecx
mov ebx, ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x38], ebx
jmp case.default.0x572323
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x80]
lea ecx, [edi + eax + 1]
mov ebx, ecx
lea ebp, [ecx - 1]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x50], ebp
test ecx, ecx
jg case.default.0x572323
mov ecx, edx
push ecx
call fcn.00571e00
mov ecx, dword [esp + 0x70]
mov edi, eax
mov eax, dword [ecx + 0xc]
add esp, 4
sub eax, 1
mov dword [esp + 0x44], edi
mov esi, edi
mov dword [esp + 0x28], eax
je 0x5723e2
test eax, eax
jge 0x5723ce
mov eax, 2
mov dword [esp + 0x28], eax
test byte [esp + 0x14], 8
je 0x5723e2
mov edx, 3
sub edx, eax
mov eax, edx
mov dword [esp + 0x28], eax
movsd xmm3, qword [0x6dd400]
movsd xmm4, qword [0x6dd488]
cmp ebx, 0xe
ja 0x5725cf
cmp dword [esp + 0x40], 0
je 0x5725cf
test eax, eax
jne 0x5725cf
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5725d3
cmp dword [esp + 0x4c], 0
movsd xmm0, qword [esp + 0x60]
movsd xmm2, qword [0x6d8a40]
movapd xmm5, xmm0
mov edx, ebx
mov eax, 2
je 0x57245b
comisd xmm2, xmm0
jbe 0x57245b
test ebx, ebx
jle 0x57245b
test ebp, ebp
jle 0x5724ab
mov ebx, ebp
mov dword [esp + 0x1c], 0xffffffff
mulsd xmm0, xmm3
mov eax, 3
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
addsd xmm1, qword [0x6dd3d8]
movsd qword [esp + 0x60], xmm1
sub dword [esp + 0x64], 0x3400000
xor ecx, ecx
cmp ebx, ecx
jne 0x5724c2
movsd xmm1, qword [esp + 0x60]
xor ebp, ebp
subsd xmm0, xmm4
comisd xmm0, xmm1
mov dword [esp + 0x14], ecx
ja 0x5729b2
xorpd xmm1, xmmword [0x6dc1f0]
comisd xmm1, xmm0
ja 0x57261c
xor eax, eax
mov ebx, edx
mov esi, edi
movapd xmm0, xmm5
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], ebx
jmp 0x5725d9
cmp dword [esp + 0x34], ecx
je 0x572555
movsd xmm1, qword [0x6d8950]
divsd xmm1, qword [ebx*8 + 0x701d40]
subsd xmm1, qword [esp + 0x60]
cvttsd2si eax, xmm0
cvtsi2sd xmm6, eax
add al, 0x30
subsd xmm0, xmm6
comisd xmm1, xmm0
mov byte [edi], al
lea esi, [edi + 1]
ja 0x572536
lea esp, [esp]
movapd xmm6, xmm2
subsd xmm6, xmm0
comisd xmm1, xmm6
ja 0x5726f2
inc ecx
cmp ecx, ebx
jge 0x5724ab
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
cvtsi2sd xmm6, eax
add al, 0x30
mov byte [esi], al
mulsd xmm1, xmm3
subsd xmm0, xmm6
inc esi
comisd xmm1, xmm0
jbe 0x572500
ucomisd xmm0, qword [0x6d9720]
lahf
test ah, 0x44
jnp 0x572e29
mov dword [esp + 0x18], 0x10
jmp 0x572e29
movsd xmm2, qword [ebx*8 + 0x701d40]
mulsd xmm2, qword [esp + 0x60]
mov ecx, 1
lea esp, [esp]
cvttsd2si eax, xmm0
test eax, eax
je 0x572580
cvtsi2sd xmm1, eax
subsd xmm0, xmm1
add al, 0x30
mov byte [esi], al
inc esi
cmp ecx, ebx
je 0x572590
inc ecx
mulsd xmm0, xmm3
jmp 0x572570
movsd xmm1, qword [0x6d8950]
movapd xmm6, xmm2
addsd xmm6, xmm1
comisd xmm0, xmm6
ja 0x5726f2
subsd xmm1, xmm2
comisd xmm1, xmm0
jbe 0x5724ab
ucomisd xmm0, qword [0x6d9720]
lahf
test ah, 0x44
jnp 0x5726e6
jmp 0x5726de
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0x60]
xor ebp, ebp
cmp dword [esp + 0x70], ebp
jl 0x572721
mov ecx, dword [esp + 0x6c]
cmp eax, dword [ecx + 0x14]
jg 0x572721
cmp dword [esp + 0x80], ebp
movsd xmm1, qword [eax*8 + 0x701d48]
jge 0x572637
cmp ebx, ebp
jg 0x572637
mov dword [esp + 0x14], ebp
jl 0x57261c
mulsd xmm1, xmm4
comisd xmm1, xmm0
jb 0x5729b2
or eax, 0xffffffff
sub eax, dword [esp + 0x80]
mov dword [esp + 0x18], 0x10
mov dword [esp + 0x1c], eax
jmp 0x572cc6
movapd xmm2, xmm0
divsd xmm2, xmm1
cvttsd2si ecx, xmm2
cvtsi2sd xmm2, ecx
mulsd xmm2, xmm1
subsd xmm0, xmm2
xorps xmm2, xmm2
mov dl, cl
add dl, 0x30
ucomisd xmm0, xmm2
lahf
mov byte [edi], dl
lea esi, [edi + 1]
test ah, 0x44
jnp 0x572e29
mov edx, esi
sub edx, edi
jmp 0x572674
mov edi, dword [esp + 0x44]
cmp edx, ebx
je 0x5726ab
mulsd xmm0, xmm3
movapd xmm4, xmm0
divsd xmm4, xmm1
cvttsd2si ecx, xmm4
mov al, cl
add al, 0x30
cvtsi2sd xmm4, ecx
mulsd xmm4, xmm1
mov byte [esi], al
inc esi
inc edx
subsd xmm0, xmm4
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jp 0x572670
jmp 0x572e29
mov eax, dword [esp + 0x28]
test eax, eax
je 0x5726c5
cmp eax, 1
je 0x5726f2
mov dword [esp + 0x18], 0x10
jmp 0x572e29
addsd xmm0, xmm0
comisd xmm0, xmm1
ja 0x5726f2
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x5726de
test cl, 1
jne 0x5726f2
mov dword [esp + 0x18], 0x10
dec esi
cmp byte [esi], 0x30
je 0x5726e6
inc esi
jmp 0x572e29
dec esi
cmp byte [esi], 0x39
mov dword [esp + 0x18], 0x20
jne 0x572719
cmp esi, edi
je 0x572712
dec esi
cmp byte [esi], 0x39
je 0x572700
inc byte [esi]
inc esi
jmp 0x572e29
inc dword [esp + 0x1c]
mov byte [esi], 0x30
inc byte [esi]
inc esi
jmp 0x572e29
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], ebp
cmp dword [esp + 0x34], ebp
je 0x5727d1
mov edx, dword [esp + 0x6c]
mov ecx, dword [edx + 4]
mov eax, dword [esp + 0x58]
sub eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x70]
mov edx, ebp
sub edx, eax
inc eax
cmp edx, ecx
mov edx, dword [esp + 0x7c]
jge 0x57277f
cmp edx, 3
je 0x57277f
cmp edx, 5
je 0x57277f
sub ebp, ecx
inc ebp
cmp edx, 2
mov eax, ebp
jl 0x5727bd
test ebx, ebx
jle 0x5727bd
cmp ebx, eax
jl 0x572784
jmp 0x5727bd
cmp edx, 2
jl 0x5727bd
mov ecx, dword [esp + 0x30]
lea eax, [ebx - 1]
cmp ecx, eax
jl 0x572797
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x5727ab
sub eax, ecx
add dword [esp + 0x48], eax
add ecx, eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], 0
mov eax, ebx
test ebx, ebx
jge 0x5727bd
mov edi, dword [esp + 0x20]
sub edi, ebx
mov dword [esp + 0x40], edi
xor eax, eax
add dword [esp + 0x20], eax
add dword [esp + 0x24], eax
push 1
call fcn.00571570
add esp, 4
mov ebp, eax
test edi, edi
jle 0x5727f5
mov ecx, dword [esp + 0x24]
test ecx, ecx
jle 0x5727f5
cmp edi, ecx
mov eax, edi
jl 0x5727e5
mov eax, ecx
sub dword [esp + 0x20], eax
sub edi, eax
sub ecx, eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x30], 0
jle 0x57285d
cmp dword [esp + 0x34], 0
je 0x572847
cmp dword [esp + 0x14], 0
jle 0x572835
mov eax, dword [esp + 0x14]
push eax
push ebp
call fcn.00571700
mov ecx, dword [esp + 0x18]
mov ebp, eax
push ecx
push ebp
call fcn.005715e0
mov edx, dword [esp + 0x20]
push edx
mov edi, eax
call fcn.00571390
add esp, 0x14
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x14]
je 0x57285d
push eax
mov eax, dword [esp + 0x14]
push eax
jmp 0x572851
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
push ecx
push edx
call fcn.00571700
mov dword [esp + 0x18], eax
add esp, 8
push 1
call fcn.00571570
mov edi, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x14], eax
test edi, edi
jle 0x572881
push edi
push eax
call fcn.00571700
add esp, 8
mov dword [esp + 0x14], eax
cmp dword [esp + 0x7c], 2
mov dword [esp + 0x58], 0
jge 0x5728b6
mov ecx, 1
cmp dword [esp + 0x3c], ecx
jne 0x5728b6
mov edx, dword [esp + 0x6c]
mov edx, dword [edx + 4]
add edx, ecx
cmp dword [esp + 0x5c], edx
jle 0x5728b6
add dword [esp + 0x20], ecx
add dword [esp + 0x24], ecx
mov dword [esp + 0x58], ecx
test edi, edi
je 0x5728cc
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + ecx*4 + 0x10]
push edx
call fcn.00571510
add esp, 4
jmp 0x5728d1
mov eax, 0x1f
sub eax, dword [esp + 0x24]
sub eax, 4
and eax, 0x1f
mov edi, eax
mov eax, dword [esp + 0x20]
add dword [esp + 0x40], edi
add eax, edi
mov dword [esp + 0x20], eax
test eax, eax
jle 0x572901
mov ecx, dword [esp + 0x10]
push eax
push ecx
call fcn.005717c0
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x24], eax
test eax, eax
jle 0x572923
mov edx, eax
mov eax, dword [esp + 0x14]
push edx
push eax
call fcn.005717c0
add esp, 8
mov dword [esp + 0x14], eax
cmp dword [esp + 0x4c], 0
je 0x572973
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
push ecx
push edi
call fcn.005718b0
add esp, 8
test eax, eax
jge 0x572973
dec dword [esp + 0x1c]
push 0
push 0xa
push edi
call fcn.00571430
add esp, 0xc
cmp dword [esp + 0x34], 0
mov dword [esp + 0x10], eax
je 0x57296b
push 0
push 0xa
push ebp
call fcn.00571430
add esp, 0xc
mov ebp, eax
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x38], ebx
test ebx, ebx
jg 0x5729c9
cmp dword [esp + 0x7c], 2
jle 0x5729c9
test ebx, ebx
jl 0x57261c
mov edx, dword [esp + 0x14]
push 0
push 5
push edx
call fcn.00571430
push eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
push eax
call fcn.005718b0
add esp, 0x14
test eax, eax
jle 0x57261c
mov edi, dword [esp + 0x44]
inc dword [esp + 0x1c]
mov dword [esp + 0x18], 0x20
mov byte [edi], 0x31
lea esi, [edi + 1]
jmp 0x572cc6
cmp dword [esp + 0x34], 0
je 0x572d13
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x5729e8
push eax
push ebp
call fcn.005717c0
add esp, 8
mov ebp, eax
cmp dword [esp + 0x58], 0
mov ebx, ebp
mov dword [esp + 0x2c], ebx
je 0x572a25
mov ecx, dword [ebp + 4]
push ecx
call fcn.005712f0
mov edx, dword [ebx + 0x10]
mov edi, eax
lea eax, [edx*4 + 8]
push eax
add ebx, 0xc
lea ecx, [edi + 0xc]
push ebx
push ecx
call fcn.00695f10
push 1
push edi
call fcn.005717c0
add esp, 0x18
mov ebp, eax
mov dword [esp + 0x34], 1
lea ecx, [ecx]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
push edx
push edi
call fcn.00571ee0
mov ebx, eax
mov eax, dword [esp + 0x34]
push eax
push edi
add ebx, 0x30
call fcn.005718b0
mov ecx, dword [esp + 0x24]
push ebp
push ecx
mov dword [esp + 0x70], eax
call fcn.00571900
mov edi, eax
add esp, 0x18
cmp dword [edi + 0xc], 0
je 0x572a74
mov ecx, 1
mov dword [esp + 0x50], ecx
jmp 0x572a88
mov edx, dword [esp + 0x10]
push edi
push edx
call fcn.005718b0
add esp, 8
mov dword [esp + 0x50], eax
mov ecx, eax
mov eax, dword [edi + 4]
cmp eax, 9
jle 0x572a9f
push edi
call fcn.00695d3f
mov ecx, dword [esp + 0x54]
add esp, 4
jmp 0x572aaf
mov edx, dword [eax*4 + 0xa2ea90]
mov dword [edi], edx
mov dword [eax*4 + 0xa2ea90], edi
test ecx, ecx
jne 0x572acc
cmp dword [esp + 0x7c], ecx
jne 0x572acc
mov eax, dword [esp + 0x74]
test byte [eax], 1
jne 0x572acc
cmp dword [esp + 0x28], ecx
je 0x572b69
mov eax, dword [esp + 0x58]
test eax, eax
jl 0x572bc2
jne 0x572aee
cmp dword [esp + 0x7c], 0
jne 0x572aee
mov edx, dword [esp + 0x74]
test byte [edx], 1
je 0x572bc2
test ecx, ecx
jle 0x572afd
cmp dword [esp + 0x28], 2
jne 0x572ba8
mov eax, dword [esp + 0x38]
mov byte [esi], bl
inc esi
cmp dword [esp + 0x34], eax
je 0x572d6d
mov ecx, dword [esp + 0x10]
push 0
push 0xa
push ecx
call fcn.00571430
add esp, 0xc
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
push 0
push 0xa
cmp eax, ebp
jne 0x572b47
push ebp
call fcn.00571430
mov ebp, eax
add esp, 0xc
inc dword [esp + 0x34]
mov dword [esp + 0x2c], ebp
jmp 0x572a30
push eax
call fcn.00571430
push 0
push 0xa
push ebp
mov dword [esp + 0x44], eax
call fcn.00571430
add esp, 0x18
inc dword [esp + 0x34]
mov ebp, eax
jmp 0x572a30
cmp ebx, 0x39
je 0x572c9f
cmp dword [esp + 0x58], 0
jg 0x572b98
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x10], 1
jg 0x572b89
cmp dword [eax + 0x14], 0
je 0x572ba1
mov dword [esp + 0x18], 0x10
mov byte [esi], bl
jmp 0x572cc5
inc ebx
mov dword [esp + 0x18], 0x20
mov byte [esi], bl
jmp 0x572cc5
cmp ebx, 0x39
je 0x572c9f
inc bl
mov dword [esp + 0x18], 0x20
mov byte [esi], bl
jmp 0x572cc5
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
test edx, edx
je 0x572c66
cmp dword [eax + 0x10], 1
jg 0x572be2
cmp dword [eax + 0x14], 0
je 0x572c66
cmp edx, 2
je 0x572d07
mov edx, dword [esp + 0x14]
push ebp
push edx
call fcn.005718b0
add esp, 8
test eax, eax
jle 0x572c52
lea ecx, [ecx]
push 0
push 0xa
mov byte [esi], bl
push ebp
inc esi
call fcn.00571430
add esp, 0xc
mov edi, eax
cmp dword [esp + 0x2c], ebp
jne 0x572c1c
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x10]
push 0
push 0xa
push eax
mov ebp, edi
call fcn.00571430
mov ecx, dword [esp + 0x20]
push ecx
push eax
mov dword [esp + 0x24], eax
call fcn.00571ee0
mov edx, dword [esp + 0x28]
mov ebx, eax
push edi
push edx
add ebx, 0x30
call fcn.005718b0
add esp, 0x1c
test eax, eax
jg 0x572c00
mov eax, ebx
inc ebx
cmp eax, 0x39
je 0x572c9f
mov dword [esp + 0x18], 0x20
mov byte [esi], bl
jmp 0x572cc5
test ecx, ecx
jle 0x572cfb
mov ecx, dword [esp + 0x10]
push 1
push ecx
call fcn.005717c0
mov edx, dword [esp + 0x1c]
push edx
push eax
mov dword [esp + 0x20], eax
call fcn.005718b0
add esp, 0x10
test eax, eax
jg 0x572c97
jne 0x572cef
test bl, 1
je 0x572cef
mov eax, ebx
inc ebx
cmp eax, 0x39
jne 0x572cef
mov byte [esi], 0x39
inc esi
dec esi
cmp byte [esi], 0x39
mov dword [esp + 0x18], 0x20
jne 0x572cc3
mov eax, dword [esp + 0x44]
cmp esi, eax
je 0x572deb
dec esi
cmp byte [esi], 0x39
je 0x572cb5
inc byte [esi]
inc esi
cmp dword [esp + 0x14], 0
je 0x572e07
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
cmp eax, 9
jle 0x572df7
push ecx
call fcn.00695d3f
add esp, 4
jmp 0x572e07
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], 0x20
cmp dword [eax + 0x10], 1
jg 0x572d07
cmp dword [eax + 0x14], 0
je 0x572d0f
mov dword [esp + 0x18], 0x10
mov byte [esi], bl
jmp 0x572cc5
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
call fcn.00571ee0
mov esi, dword [esp + 0x4c]
mov ebx, eax
add ebx, 0x30
mov byte [esi], bl
add esp, 8
inc esi
cmp dword [esp + 0x38], 1
jle 0x572d6d
mov edi, dword [esp + 0x38]
dec edi
lea ecx, [ecx]
mov eax, dword [esp + 0x10]
push 0
push 0xa
push eax
call fcn.00571430
mov ecx, dword [esp + 0x20]
push ecx
push eax
mov dword [esp + 0x24], eax
call fcn.00571ee0
mov ebx, eax
add ebx, 0x30
mov byte [esi], bl
add esp, 0x14
inc esi
sub edi, 1
jne 0x572d40
mov eax, dword [esp + 0x28]
test eax, eax
je 0x572d93
mov edi, dword [esp + 0x10]
cmp eax, 2
je 0x572dc6
cmp dword [edi + 0x10], 1
jg 0x572ca3
cmp dword [edi + 0x14], 0
je 0x572dc6
jmp 0x572ca3
mov edx, dword [esp + 0x10]
push 1
push edx
call fcn.005717c0
mov edi, eax
mov eax, dword [esp + 0x1c]
push eax
push edi
mov dword [esp + 0x20], edi
call fcn.005718b0
add esp, 0x10
test eax, eax
jg 0x572ca3
jne 0x572dc6
test bl, 1
jne 0x572ca3
cmp dword [edi + 0x10], 1
jg 0x572dd2
cmp dword [edi + 0x14], 0
je 0x572de0
mov dword [esp + 0x18], 0x10
lea ebx, [ebx]
dec esi
cmp byte [esi], 0x30
je 0x572de0
jmp 0x572cc5
inc dword [esp + 0x1c]
mov byte [esi], 0x31
jmp 0x572cc5
mov edx, dword [eax*4 + 0xa2ea90]
mov dword [ecx], edx
mov dword [eax*4 + 0xa2ea90], ecx
test ebp, ebp
je 0x572e29
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x572e20
cmp eax, ebp
je 0x572e20
push eax
call fcn.00571390
add esp, 4
push ebp
call fcn.00571390
add esp, 4
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x572e54
mov eax, dword [ecx + 4]
cmp eax, 9
jle 0x572e44
push ecx
call fcn.00695d3f
add esp, 4
jmp 0x572e54
mov edx, dword [eax*4 + 0xa2ea90]
mov dword [ecx], edx
mov dword [eax*4 + 0xa2ea90], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x84]
inc eax
mov byte [esi], 0
mov dword [ecx], eax
mov eax, dword [esp + 0x88]
test eax, eax
je 0x572e72
mov dword [eax], esi
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x18]
or dword [eax], edx
mov eax, dword [esp + 0x44]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
push 8
push ecx
push 0x701ce8
mov dword [eax], 0xffff8000
call fcn.00571e30
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
push 3
push eax
push 0x6fb1f0
mov dword [edx], 0xffff8000
call fcn.00571e30
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x58
ret