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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x78
movsd xmm0, qword [ebp + 8]
xor edx, edx
mov eax, dword [ebp + 0x10]
movsd qword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xc]
mov eax, edx
mov dword [esp + 0x38], edx
push esi
push edi
and eax, 0x80000000
je 0x10213dd7
and edx, 0x7fffffff
mov dword [esp + 0x14], edx
movsd xmm0, qword [esp + 0x10]
mov dword [esp + 0x40], edx
xor ecx, ecx
test eax, eax
mov eax, dword [ebp + 0x1c]
setne cl
mov dword [eax], ecx
mov eax, edx
and eax, 0x7ff00000
cmp eax, 0x7ff00000
jne 0x10213e8c
cmp dword [esp + 0x10], 0
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x270f
jne 0x10213e4f
test edx, 0xfffff
jne 0x10213e4f
mov ecx, 8
call fcn.10213c80
mov edx, eax
test edx, edx
jne 0x10213e27
xor edx, edx
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, str.Infinity
mov byte [edx], 0x49
mov ecx, edx
sub esi, edx
mov al, byte [ecx + esi + 1]
inc ecx
mov byte [ecx], al
test al, al
jne 0x10213e33
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x10213e47
mov dword [eax], ecx
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 3
call fcn.10213c80
mov edx, eax
test edx, edx
je 0x10213e1d
mov esi, 0x103668c8
mov byte [edx], 0x4e
mov ecx, edx
sub esi, edx
nop dword [eax + eax]
mov al, byte [esi + ecx + 1]
inc ecx
mov byte [ecx], al
test al, al
jne 0x10213e70
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x10213e47
mov dword [eax], ecx
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xorps xmm3, xmm3
ucomisd xmm0, xmm3
movsd qword [esp + 0x78], xmm3
lahf
test ah, 0x44
jp 0x10213ee8
mov eax, dword [ebp + 0x18]
mov ecx, 1
mov dword [eax], 1
call fcn.10213c80
mov edx, eax
test edx, edx
je 0x10213e1d
mov esi, 0x1036b6c0
mov byte [edx], 0x30
mov ecx, edx
sub esi, edx
mov al, byte [esi + ecx + 1]
inc ecx
mov byte [ecx], al
test al, al
jne 0x10213ec8
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x10213e47
mov dword [eax], ecx
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edi, dword [0x103fa164]
test edi, edi
je 0x10213efb
mov eax, dword [edi]
mov dword [0x103fa164], eax
jmp 0x10213f52
mov edi, dword [0x103ce07c]
mov eax, edi
sub eax, 0x103cea78
sar eax, 3
add eax, 4
cmp eax, 0x120
ja 0x10213f1f
lea eax, [edi + 0x20]
mov dword [0x103ce07c], eax
jmp 0x10213f44
push 0x20
push dword [0x103cc55c]
call dword [0x103cc560]
mov edi, eax
add esp, 8
test edi, edi
je 0x10214f77
movsd xmm3, qword [esp + 0x78]
mov edx, dword [esp + 0x40]
mov dword [edi + 4], 1
mov dword [edi + 8], 2
mov esi, edx
mov dword [edi + 0x10], 0
and edx, 0x7fffffff
mov dword [edi + 0xc], 0
mov eax, edx
mov dword [esp + 0x40], edx
and esi, 0xfffff
shr eax, 0x14
mov dword [esp + 0x50], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], esi
test eax, eax
je 0x10213f99
or esi, 0x100000
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x58], eax
test eax, eax
je 0x10214001
lea ecx, [esp + 0x58]
call fcn.10211a40
mov edx, eax
mov dword [esp + 0x60], edx
test edx, edx
je 0x10213fe9
mov esi, dword [esp + 0x54]
mov ecx, 0x20
sub ecx, edx
mov edx, dword [esp + 0x54]
shl edx, cl
or edx, dword [esp + 0x58]
mov dword [edi + 0x14], edx
mov edx, eax
mov ecx, edx
shr esi, cl
xor ecx, ecx
mov eax, esi
mov dword [edi + 0x18], esi
test eax, eax
setne cl
inc ecx
jmp 0x1021401b
mov eax, dword [esp + 0x58]
xor ecx, ecx
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x54]
test eax, eax
mov dword [edi + 0x18], esi
setne cl
inc ecx
jmp 0x1021401b
lea ecx, [esp + 0x50]
call fcn.10211a40
mov edx, eax
mov ecx, 1
mov eax, dword [esp + 0x50]
add edx, 0x20
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x3c], ecx
mov dword [edi + 0x10], ecx
test eax, eax
je 0x1021403e
add eax, 0xfffffbcd
mov ecx, 0x35
add eax, edx
sub ecx, edx
mov dword [esp + 0x54], eax
jmp 0x1021405b
mov ecx, dword [edi + ecx*4 + 0x10]
add eax, 0xfffffbce
add eax, edx
mov dword [esp + 0x54], eax
call fcn.102119c0
mov ecx, dword [esp + 0x3c]
shl ecx, 5
sub ecx, eax
mov eax, dword [esp + 0x40]
mov esi, eax
movsd xmm1, qword [esp + 0x10]
shr esi, 0x14
mov dword [esp + 0x3c], ecx
movsd qword [esp + 0x70], xmm1
and esi, 0x7ff
je 0x102140a4
movsd qword [esp + 0x68], xmm1
mov eax, dword [esp + 0x6c]
and eax, 0xfffff
mov dword [esp + 0x60], 0
or eax, 0x3ff00000
add esi, 0xfffffc01
mov dword [esp + 0x6c], eax
jmp 0x10214104
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
add esi, 0x432
add esi, ecx
cmp esi, 0x20
jle 0x102140cb
lea ecx, [esi - 0x20]
shr edx, cl
mov ecx, 0x40
sub ecx, esi
shl eax, cl
or edx, eax
jmp 0x102140d4
mov ecx, 0x20
sub ecx, esi
shl edx, cl
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
mov dword [esp + 0x60], 1
addsd xmm0, qword [edx*8 + 0x1039ae60]
movsd qword [esp + 0x68], xmm0
sub dword [esp + 0x6c], 0x1f00000
sub esi, 0x433
movsd xmm2, qword [esp + 0x68]
subsd xmm2, qword [0x1039a698]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm2, qword [0x1039a598]
mulsd xmm0, qword [0x1039a5a8]
addsd xmm2, qword [0x1039a560]
addsd xmm2, xmm0
comisd xmm3, xmm2
cvttsd2si edx, xmm2
mov dword [esp + 0xc], edx
jbe 0x1021415b
movd xmm0, edx
cvtdq2pd xmm0, xmm0
ucomisd xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1021415b
dec edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x5c], 1
cmp edx, 0x16
ja 0x10214184
movsd xmm0, qword [edx*8 + 0x1035bf48]
comisd xmm0, xmm1
jbe 0x1021417c
dec edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x3c]
sub ecx, esi
mov dword [esp + 0x58], 0
test ecx, ecx
mov dword [esp + 0x24], 0
mov dword [esp + 0x34], edx
lea eax, [ecx - 1]
cmovle eax, dword [esp + 0x58]
mov dword [esp + 0x20], eax
mov eax, 1
sub eax, ecx
test ecx, ecx
mov ecx, dword [esp + 0x24]
cmovle ecx, eax
mov dword [esp + 0x24], ecx
test edx, edx
js 0x102141ca
add dword [esp + 0x20], edx
jmp 0x102141d0
sub ecx, edx
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov eax, edx
test edx, edx
cmovs eax, ecx
mov dword [esp + 0x68], eax
mov eax, edx
neg eax
test edx, edx
cmovs ecx, eax
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 8]
test ecx, ecx
js 0x1021429e
cmp ecx, 9
jg 0x1021429e
cmp ecx, 5
mov dword [esp + 0x28], 1
lea eax, [ecx - 4]
mov dword [esp + 0x4c], 0xffffffff
cmovle eax, ecx
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x58], eax
cmp eax, 5
ja case.default.0x10214241
mov dword [esp + 0x28], 1
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x10], 0xffffffff
jmp dword [eax*4 + 0x10214f80]
mov dword [esp + 0x28], 0
mov eax, dword [ebp + 0x14]
mov esi, 1
test eax, eax
cmovg esi, eax
mov dword [esp + 0x4c], esi
mov eax, esi
mov dword [esp + 0x50], esi
jmp 0x102142ce
mov dword [esp + 0x28], 0
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x50], eax
add eax, edx
mov dword [esp + 0x4c], eax
lea esi, [eax + 1]
mov eax, esi
mov dword [esp + 0x10], eax
test esi, esi
jg 0x102142d2
mov esi, 1
jmp 0x102142d2
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x50], eax
or eax, 0xffffffff
jmp 0x102142d2
mov dword [esp + 8], 0
mov dword [esp + 0x58], 0
mov esi, 0x12
mov dword [esp + 0x50], 0
mov dword [esp + 0x28], 1
or eax, 0xffffffff
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x10], eax
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.10213c80
mov ecx, eax
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x10214f38
cmp dword [esp + 0x10], 0xe
mov esi, ecx
movsd xmm5, qword [0x1039a7b8]
movsd xmm6, qword [0x1039a740]
movsd xmm1, qword [esp + 0x70]
ja 0x10214563
cmp dword [esp + 8], 5
jg 0x10214563
mov edx, dword [esp + 0xc]
movaps xmm7, xmm1
mov ecx, 2
mov eax, edx
test edx, edx
jle 0x10214393
and eax, 0xf
movsd xmm0, qword [eax*8 + 0x1035bf48]
mov eax, edx
sar eax, 4
test al, 0x10
je 0x10214350
divsd xmm1, qword [0x1039ac58]
and eax, 0xf
mov ecx, 3
test eax, eax
je 0x1021438d
mov edx, 0x1035c730
nop dword [eax]
mov dword [esp + 0x40], ecx
mov ecx, eax
and ecx, 1
mov dword [esp + 0x38], ecx
je 0x10214373
mulsd xmm0, qword [edx]
mov ecx, dword [esp + 0x40]
inc ecx
cmp dword [esp + 0x38], 0
cmove ecx, dword [esp + 0x40]
add edx, 8
sar eax, 1
jne 0x10214360
mov edx, dword [esp + 0xc]
divsd xmm1, xmm0
jmp 0x102143e4
neg eax
mov dword [esp + 0x40], eax
je 0x102143e4
and eax, 0xf
mulsd xmm1, qword [eax*8 + 0x1035bf48]
mov eax, dword [esp + 0x40]
sar eax, 4
test eax, eax
je 0x102143e4
mov edx, 0x1035c730
mov dword [esp + 0x40], ecx
mov ecx, eax
and ecx, 1
mov dword [esp + 0x38], ecx
je 0x102143ca
mulsd xmm1, qword [edx]
mov ecx, dword [esp + 0x40]
inc ecx
cmp dword [esp + 0x38], 0
cmove ecx, dword [esp + 0x40]
add edx, 8
sar eax, 1
jne 0x102143b7
mov edx, dword [esp + 0xc]
cmp dword [esp + 0x5c], 0
movsd xmm3, qword [0x1039a668]
je 0x102144ed
comisd xmm3, xmm1
jbe 0x102144ed
cmp dword [esp + 0x10], 0
jle 0x102144ed
mov eax, dword [esp + 0x4c]
test eax, eax
jle 0x10214546
mov dword [esp + 0x10], eax
dec edx
lea eax, [ecx + 1]
mulsd xmm1, xmm5
mov ecx, dword [esp + 0x10]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov dword [esp + 0xc], edx
mulsd xmm0, xmm1
addsd xmm0, qword [0x1039a790]
movsd qword [esp + 0x40], xmm0
sub dword [esp + 0x44], 0x3400000
cmp dword [esp + 0x28], 0
movsd xmm4, qword [ecx*8 + 0x1035bf40]
je 0x102145cb
movsd xmm2, qword [0x1039a5e0]
divsd xmm2, xmm4
mov ecx, dword [esp + 0x1c]
lea esi, [ecx + 1]
cvttsd2si eax, xmm1
subsd xmm2, qword [esp + 0x40]
mov dword [esp + 0x40], 0
movd xmm0, eax
add al, 0x30
cvtdq2pd xmm0, xmm0
mov byte [ecx], al
subsd xmm1, xmm0
comisd xmm2, xmm1
ja 0x10214e70
movaps xmm0, xmm3
subsd xmm0, xmm1
comisd xmm2, xmm0
ja 0x1021473d
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x10]
jge 0x1021454a
mulsd xmm1, xmm5
mulsd xmm2, xmm5
cvttsd2si eax, xmm1
movd xmm0, eax
add al, 0x30
cvtdq2pd xmm0, xmm0
mov byte [esi], al
inc esi
subsd xmm1, xmm0
comisd xmm2, xmm1
jbe 0x102144a1
jmp 0x10214e70
movd xmm0, ecx
mov ecx, dword [esp + 0x10]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm0, qword [0x1039a790]
movsd qword [esp + 0x40], xmm0
sub dword [esp + 0x44], 0x3400000
test ecx, ecx
jne 0x1021444e
movsd xmm0, qword [esp + 0x40]
subsd xmm1, xmm6
xor eax, eax
mov dword [esp + 8], eax
mov dword [esp + 0x10], eax
comisd xmm1, xmm0
ja 0x10214a03
xorps xmm0, xmmword [0x1039af30]
comisd xmm0, xmm1
ja 0x102145bc
mov ecx, dword [esp + 0x1c]
movaps xmm1, xmm7
movsd qword [esp + 0x10], xmm1
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x54]
test eax, eax
js 0x1021476c
mov esi, dword [esp + 0x34]
cmp esi, 0xe
jg 0x1021476c
cmp dword [esp + 0x50], 0
movsd xmm2, qword [esi*8 + 0x1035bf48]
jge 0x1021465f
mov edx, dword [esp + 0x2c]
test edx, edx
jg 0x1021465f
xor eax, eax
mov dword [esp + 8], eax
mov dword [esp + 0x10], eax
test edx, edx
js 0x102145ba
mulsd xmm2, xmm6
mov edx, esi
comisd xmm2, xmm1
jb 0x10214a03
mov esi, ecx
mov edx, dword [esp + 0x50]
not edx
mov dword [esp + 0xc], edx
jmp 0x10214c9a
mulsd xmm4, qword [esp + 0x40]
mov dword [esp + 0x40], 1
movsd xmm2, qword [esp + 0x78]
nop
mov dword [esp + 0x10], ecx
lea eax, [esi + 1]
cvttsd2si ecx, xmm1
mov dword [esp + 0x38], eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
ucomisd xmm1, xmm2
lahf
add cl, 0x30
mov byte [esi], cl
mov esi, dword [esp + 0x38]
test ah, 0x44
jnp 0x10214625
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
cmp eax, ecx
je 0x10214625
inc eax
mulsd xmm1, xmm5
mov dword [esp + 0x40], eax
jmp 0x102145e0
movsd xmm2, qword [0x1039a5e0]
movaps xmm0, xmm4
addsd xmm0, xmm2
comisd xmm1, xmm0
ja 0x10214739
subsd xmm2, xmm4
comisd xmm2, xmm1
jbe 0x10214546
nop dword [eax]
mov eax, esi
dec esi
cmp byte [esi], 0x30
je 0x10214650
mov esi, eax
jmp 0x10214e70
movaps xmm0, xmm1
movsd xmm3, qword [esp + 0x78]
divsd xmm0, xmm2
mov edx, dword [esp + 0x1c]
lea esi, [edx + 1]
cvttsd2si ecx, xmm0
mov al, cl
add al, 0x30
mov byte [edx], al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
subsd xmm1, xmm0
ucomisd xmm1, xmm3
lahf
test ah, 0x44
jnp 0x102146d7
mov edx, 1
nop dword [eax]
cmp edx, dword [esp + 0x2c]
je 0x102146e4
mulsd xmm1, xmm5
inc edx
movaps xmm0, xmm1
divsd xmm0, xmm2
cvttsd2si ecx, xmm0
mov al, cl
add al, 0x30
mov byte [esi], al
inc esi
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
subsd xmm1, xmm0
ucomisd xmm1, xmm3
lahf
test ah, 0x44
jp 0x102146a0
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
jmp 0x10214e70
mov edx, dword [esp + 0x34]
addsd xmm1, xmm1
mov dword [esp + 0xc], edx
comisd xmm1, xmm2
ja 0x10214739
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jp 0x10214709
mov dword [esp + 0xc], edx
test cl, 1
jne 0x10214739
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], edx
cmp esi, ecx
jbe 0x10214e70
mov dword [esp + 0xc], edx
cmp byte [esi - 1], 0x30
jne 0x10214e70
dec esi
cmp esi, ecx
ja 0x10214721
mov dword [esp + 0xc], edx
jmp 0x10214e70
mov ecx, dword [esp + 0x1c]
mov al, byte [esi - 1]
dec esi
cmp al, 0x39
jne 0x10214762
cmp esi, ecx
je 0x1021475b
mov al, byte [esi - 1]
dec esi
cmp al, 0x39
je 0x10214745
inc al
mov byte [esi], al
inc esi
jmp 0x10214e70
inc edx
mov al, 0x30
mov dword [esp + 0xc], edx
inc al
mov byte [esi], al
inc esi
jmp 0x10214e70
mov edx, dword [esp + 0x24]
xor esi, esi
mov ecx, edx
mov dword [esp + 8], esi
mov dword [esp + 0x54], ecx
cmp dword [esp + 0x28], esi
je 0x102147be
cmp dword [esp + 0x60], esi
je 0x1021478f
add eax, 0x433
jmp 0x10214798
mov eax, 0x36
sub eax, dword [esp + 0x3c]
add dword [esp + 0x20], eax
add edx, eax
mov ecx, 1
mov dword [esp + 0x24], edx
call fcn.10211ae0
mov esi, eax
mov dword [esp + 8], esi
test esi, esi
je 0x10214f38
mov ecx, dword [esp + 0x54]
test ecx, ecx
jle 0x102147e1
mov edx, dword [esp + 0x20]
test edx, edx
jle 0x102147e1
cmp ecx, edx
mov eax, edx
cmovl eax, ecx
sub dword [esp + 0x24], eax
sub ecx, eax
sub edx, eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x64]
test edx, edx
jle 0x1021485f
cmp dword [esp + 0x28], 0
je 0x1021484e
mov ecx, esi
call fcn.10211cd0
mov esi, eax
mov dword [esp + 8], esi
test esi, esi
je 0x10214f38
mov edx, edi
mov ecx, esi
call fcn.10211b60
mov ecx, dword [edi + 4]
mov edx, eax
mov dword [esp + 0x64], edx
cmp ecx, 7
jle 0x10214832
push edi
push dword [0x103cc55c]
call dword [0x103cc56c]
mov edx, dword [esp + 0x6c]
add esp, 8
jmp 0x10214842
mov eax, dword [ecx*4 + 0x103fa160]
mov dword [edi], eax
mov dword [ecx*4 + 0x103fa160], edi
mov edi, edx
test edx, edx
je 0x10214f0e
jmp 0x1021485f
mov ecx, edi
call fcn.10211cd0
mov edi, eax
test edi, edi
je 0x10214f0a
mov ecx, 1
call fcn.10211ae0
mov dword [esp + 0x10], eax
test eax, eax
je 0x10214f0a
mov edx, dword [esp + 0x68]
test edx, edx
jle 0x10214890
mov ecx, eax
call fcn.10211cd0
mov dword [esp + 0x10], eax
test eax, eax
je 0x10214f0a
cmp dword [esp + 0x58], 2
mov dword [esp + 0x60], 0
jl 0x102148a6
cmp dword [esp + 0x28], 0
je 0x102148d8
cmp dword [esp + 0x38], 0
jne 0x102148d8
mov ecx, dword [esp + 0x40]
test ecx, 0xfffff
jne 0x102148d8
mov edx, dword [esp + 0x20]
test ecx, 0x7fe00000
je 0x102148dc
inc dword [esp + 0x24]
inc edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x60], 1
jmp 0x102148dc
mov edx, dword [esp + 0x20]
mov ecx, eax
call fcn.10212330
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
add edx, eax
add dword [esp + 0x54], eax
add ecx, eax
mov dword [esp + 0x20], ecx
test edx, edx
jle 0x10214910
mov ecx, edi
call fcn.10211df0
mov edi, eax
test edi, edi
je 0x10214a41
mov ecx, dword [esp + 0x20]
test ecx, ecx
jle 0x1021492d
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.10211df0
mov dword [esp + 0x10], eax
test eax, eax
je 0x10214f0a
jmp 0x10214931
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
je 0x102149ad
mov dword [esp + 0xc], ecx
mov edx, eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x2c], ecx
mov ecx, edi
call fcn.10211f50
test eax, eax
jns 0x102149ad
mov eax, dword [esp + 0x34]
mov edx, 0xa
dec eax
mov ecx, edi
push 0
mov dword [esp + 0x10], eax
call fcn.10211890
mov edi, eax
add esp, 4
test edi, edi
je 0x10214a41
cmp dword [esp + 0x28], 0
je 0x102149a3
push 0
mov edx, 0xa
mov ecx, esi
call fcn.10211890
mov esi, eax
add esp, 4
mov dword [esp + 8], esi
test esi, esi
je 0x10214a41
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
jmp 0x102149b1
mov eax, dword [esp + 0x2c]
test eax, eax
jg 0x10214a17
mov ecx, dword [esp + 0x58]
cmp ecx, 3
je 0x102149c3
cmp ecx, 5
jne 0x10214a17
mov esi, dword [esp + 0x1c]
test eax, eax
js 0x102145bc
mov ecx, dword [esp + 0x10]
mov edx, 5
push 0
call fcn.10211890
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x10214f06
mov edx, eax
mov ecx, edi
call fcn.10211f50
test eax, eax
jle 0x102145bc
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
inc edx
mov dword [esp + 0xc], edx
mov byte [eax], 0x31
lea esi, [eax + 1]
jmp 0x10214c9a
cmp dword [esp + 0x28], 0
je 0x10214d42
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x10214a6e
mov edx, eax
mov ecx, esi
call fcn.10211df0
mov ecx, eax
mov dword [esp + 8], ecx
test ecx, ecx
jne 0x10214a72
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x10214ece
mov edx, dword [ecx + 4]
cmp edx, 7
jle 0x10214ebe
push ecx
push dword [0x103cc55c]
call dword [0x103cc56c]
add esp, 8
jmp 0x10214ece
mov ecx, dword [esp + 8]
cmp dword [esp + 0x60], 0
mov esi, ecx
mov dword [esp + 0x30], esi
je 0x10214aca
mov ecx, dword [ecx + 4]
call fcn.102117f0
mov ecx, eax
mov dword [esp + 8], ecx
test ecx, ecx
je 0x10214a3d
mov eax, dword [esi + 0x10]
lea eax, [eax*4 + 8]
push eax
lea eax, [esi + 0xc]
push eax
lea eax, [ecx + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x14]
add esp, 0xc
mov edx, 1
call fcn.10211df0
mov esi, eax
mov dword [esp + 8], esi
test esi, esi
je 0x10214a41
jmp 0x10214ace
mov esi, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x5c], 1
call fcn.10212360
mov edx, dword [esp + 0x30]
add eax, 0x30
mov ecx, edi
mov dword [esp + 0x20], eax
call fcn.10211f50
mov ecx, dword [esp + 0x10]
mov edx, esi
mov dword [esp + 0x54], eax
call fcn.10211fa0
mov ecx, eax
mov dword [esp + 0x50], ecx
test ecx, ecx
je 0x10214a41
mov esi, dword [esp + 0x1c]
cmp dword [ecx + 0xc], 0
je 0x10214b24
mov dword [esp + 0x60], 1
jmp 0x10214b35
mov edx, ecx
mov ecx, edi
call fcn.10211f50
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x60], eax
mov edx, dword [ecx + 4]
cmp edx, 7
jle 0x10214b4f
push ecx
push dword [0x103cc55c]
call dword [0x103cc56c]
add esp, 8
jmp 0x10214b5f
mov eax, dword [edx*4 + 0x103fa160]
mov dword [ecx], eax
mov dword [edx*4 + 0x103fa160], ecx
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x38]
test eax, eax
jne 0x10214b7b
cmp dword [esp + 0x58], 1
je 0x10214b7b
test dl, 1
je 0x10214c74
mov ecx, dword [esp + 0x54]
test ecx, ecx
js 0x10214cc7
jne 0x10214b99
cmp dword [esp + 0x58], 1
je 0x10214b99
test dl, 1
je 0x10214cc7
test eax, eax
jg 0x10214c8c
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov byte [esi], cl
inc esi
cmp dword [esp + 0x5c], eax
je 0x10214da0
push 0
mov edx, 0xa
mov ecx, edi
call fcn.10211890
mov edi, eax
add esp, 4
test edi, edi
je 0x10214a3d
mov eax, dword [esp + 8]
mov edx, 0xa
mov ecx, dword [esp + 0x30]
push 0
cmp ecx, eax
jne 0x10214bfc
mov ecx, eax
call fcn.10211890
mov ecx, eax
add esp, 4
mov dword [esp + 8], ecx
test ecx, ecx
mov dword [esp + 0x30], ecx
jmp 0x10214c29
call fcn.10211890
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
je 0x10214a3d
mov ecx, dword [esp + 8]
mov edx, 0xa
push 0
call fcn.10211890
add esp, 4
mov dword [esp + 8], eax
test eax, eax
je 0x10214a3d
mov edx, dword [esp + 0x10]
mov ecx, edi
inc dword [esp + 0x5c]
call fcn.10212360
mov edx, dword [esp + 0x30]
add eax, 0x30
mov ecx, edi
mov dword [esp + 0x20], eax
call fcn.10211f50
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], eax
call fcn.10211fa0
mov ecx, eax
mov dword [esp + 0x50], eax
test ecx, ecx
jne 0x10214b14
jmp 0x10214a3d
mov eax, dword [esp + 0x20]
cmp eax, 0x39
je 0x10214d0f
mov ecx, dword [esp + 0x54]
test ecx, ecx
jle 0x10214c97
inc eax
jmp 0x10214c97
mov eax, dword [esp + 0x20]
cmp eax, 0x39
je 0x10214d0f
inc al
mov byte [esi], al
inc esi
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x10214e01
mov edx, dword [ecx + 4]
cmp edx, 7
jle 0x10214df1
push ecx
push dword [0x103cc55c]
call dword [0x103cc56c]
add esp, 8
jmp 0x10214e01
cmp dword [edi + 0x14], 0
jne 0x10214cd3
cmp dword [edi + 0x10], 1
jle 0x10214d37
test eax, eax
jle 0x10214d37
mov edx, 1
mov ecx, edi
call fcn.10211df0
mov edi, eax
test edi, edi
je 0x10214a3d
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.10211f50
mov ecx, dword [esp + 0x20]
test eax, eax
jg 0x10214d07
jne 0x10214d3b
test cl, 1
je 0x10214d3b
mov eax, ecx
inc ecx
cmp eax, 0x39
jne 0x10214d3b
mov byte [esi], 0x39
inc esi
mov al, byte [esi - 1]
dec esi
cmp al, 0x39
jne 0x10214c95
nop
cmp esi, dword [esp + 0x1c]
je 0x10214de5
mov al, byte [esi - 1]
dec esi
cmp al, 0x39
je 0x10214d20
jmp 0x10214c95
mov ecx, dword [esp + 0x20]
mov byte [esi], cl
jmp 0x10214c99
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x5c], 1
nop
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.10212360
add eax, 0x30
mov byte [esi], al
inc esi
cmp dword [edi + 0x14], 0
mov dword [esp + 0x20], eax
jne 0x10214d75
cmp dword [edi + 0x10], 1
jle 0x10214c9a
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x5c], eax
jge 0x10214da0
push 0
mov edx, 0xa
mov ecx, edi
call fcn.10211890
mov edi, eax
add esp, 4
test edi, edi
je 0x10214a3d
inc dword [esp + 0x5c]
jmp 0x10214d50
mov edx, 1
mov ecx, edi
call fcn.10211df0
mov edi, eax
test edi, edi
je 0x10214a3d
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.10211f50
test eax, eax
jg 0x10214d13
jne 0x10214dd6
test byte [esp + 0x20], 1
jne 0x10214d13
mov eax, esi
dec esi
cmp byte [esi], 0x30
je 0x10214dd6
mov esi, eax
jmp 0x10214c9a
inc dword [esp + 0xc]
mov byte [esi], 0x31
jmp 0x10214c99
mov eax, dword [edx*4 + 0x103fa160]
mov dword [ecx], eax
mov dword [edx*4 + 0x103fa160], ecx
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x10214e70
mov edx, dword [esp + 0x30]
test edx, edx
je 0x10214e46
cmp edx, ecx
je 0x10214e46
mov eax, dword [edx + 4]
cmp eax, 7
jle 0x10214e33
push edx
push dword [0x103cc55c]
call dword [0x103cc56c]
mov ecx, dword [esp + 0x10]
add esp, 8
jmp 0x10214e46
mov eax, dword [eax*4 + 0x103fa160]
mov dword [edx], eax
mov eax, dword [edx + 4]
mov dword [eax*4 + 0x103fa160], edx
mov edx, dword [ecx + 4]
cmp edx, 7
jle 0x10214e60
push ecx
push dword [0x103cc55c]
call dword [0x103cc56c]
add esp, 8
jmp 0x10214e70
mov eax, dword [edx*4 + 0x103fa160]
mov dword [ecx], eax
mov dword [edx*4 + 0x103fa160], ecx
test edi, edi
je 0x10214e9e
mov ecx, dword [edi + 4]
cmp ecx, 7
jle 0x10214e8e
push edi
push dword [0x103cc55c]
call dword [0x103cc56c]
add esp, 8
jmp 0x10214e9e
mov eax, dword [ecx*4 + 0x103fa160]
mov dword [edi], eax
mov dword [ecx*4 + 0x103fa160], edi
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0xc]
inc ecx
mov byte [esi], 0
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x10214eb4
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edx*4 + 0x103fa160]
mov dword [ecx], eax
mov dword [edx*4 + 0x103fa160], ecx
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x10214f0a
cmp ecx, esi
je 0x10214f0a
mov edx, dword [ecx + 4]
cmp edx, 7
jle 0x10214ef4
push ecx
push dword [0x103cc55c]
call dword [0x103cc56c]
add esp, 8
jmp 0x10214f0a
mov eax, dword [edx*4 + 0x103fa160]
mov dword [ecx], eax
mov dword [edx*4 + 0x103fa160], ecx
jmp 0x10214f0a
mov esi, dword [esp + 8]
test esi, esi
je 0x10214f38
mov ecx, dword [esi + 4]
cmp ecx, 7
jle 0x10214f28
push esi
push dword [0x103cc55c]
call dword [0x103cc56c]
add esp, 8
jmp 0x10214f38
mov eax, dword [ecx*4 + 0x103fa160]
mov dword [esi], eax
mov dword [ecx*4 + 0x103fa160], esi
test edi, edi
je 0x10214f66
mov ecx, dword [edi + 4]
cmp ecx, 7
jle 0x10214f56
push edi
push dword [0x103cc55c]
call dword [0x103cc56c]
add esp, 8
jmp 0x10214f66
mov eax, dword [ecx*4 + 0x103fa160]
mov dword [edi], eax
mov dword [ecx*4 + 0x103fa160], edi
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x10214f77
push eax
call sym.python310.dll__Py_dg_freedtoa
add esp, 4
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret