Function at 0x4020c0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x118
movaps xmmword [rsp + 0x100], xmm6
mov eax, dword [rcx + 0x10]
mov r10d, eax
mov r12, rcx
mov qword [rsp + 0x168], rdx
and r10d, 0x1f
je 0x4022b9
mov r8d, eax
mov ebx, eax
mov r9d, eax
mov byte [rsp + 0x9d], ah
shr r8d, 0x1b
mov r11d, 0xffffffff
mov ecx, eax
mov byte [rsp + 0x9c], 1
and r8d, 0xf
mov edi, r11d
mov qword [rsp + 0xa0], 1
lea edx, [r8 + 2]
cmovne r8d, edx
shr ebx, 0x1f
cmp ebx, 1
sbb edx, edx
shr r9d, 0x11
and edx, 0xfffffff0
mov ebp, r9d
add edx, 0x30
and bp, 0x3ff
movsx esi, bp
mov byte [rsp + 0x90], dl
cmovne edi, esi
shr ecx, 9
and ecx, 0x7f
cmp ecx, 0x7f
mov dword [rsp + 0x34], edi
cmovne r11d, ecx
and byte [rsp + 0x9d], 1
mov dword [rsp + 0x48], r11d
mov r11d, eax
shr r11d, 0x10
and r11d, 1
test ebx, ebx
mov byte [rsp + 0xa8], r11b
je 0x4022e0
mov dword [rsp + 0xa0], 0
and eax, 0x80
cmp r10d, 0x10
mov dword [rsp + 0x38], eax
je 0x4022fb
lea eax, [r10 - 3]
and eax, 0xfffffffd
je 0x4023c0
lea eax, [r10 - 7]
and eax, 0xfffffffd
jne 0x402460
cmp r10d, 7
mov r14, qword [r12 + 0x18]
jne 0x4023d0
movsxd r14, dword [r12 + 0x18]
jmp 0x4023d0
movsd xmm1, qword [r12 + 0x18]
movabs rdx, 0x8000000000000000
movq rax, xmm1
cmp rax, rdx
je 0x40413e
test rax, rax
je 0x404001
movapd xmm5, xmm1
pxor xmm2, xmm2
movapd xmm0, xmm1
xorpd xmm0, xmmword [0x0041f360]
cmpltsd xmm5, xmm2
movapd xmm2, xmm5
andpd xmm0, xmm5
andnpd xmm2, xmm1
orpd xmm0, xmm2
comisd xmm0, xmmword [0x0041f388]
jb 0x402252
movsd xmm2, qword [0x0041f390]
comisd xmm2, xmm0
ja 0x40434a
movabs rdx, 0xfffffffffffff
mov rsi, rax
and rdx, rax
shr rax, 0x34
and eax, 0x7ff
shr rsi, 0x3f
cmp rax, 0x7ff
mov r8, rax
je 0x404293
mov rax, rdx
or rax, r8
jne 0x40401d
test sil, sil
jne 0x40462c
cmp dword [rsp + 0x38], 0
jne 0x40461b
mov rcx, qword [rsp + 0x168]
mov r8d, 5
lea rdx, str.0e00
call sym.array_push_many.part.70
nop
movaps xmm6, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test al, 0x20
jne 0x402194
and eax, 0x80
cmp r10d, 0x10
mov dword [rsp + 0x38], eax
jne 0x4021b2
test eax, eax
je 0x402660
movdqu xmm3, xmmword [r12 + 0x18]
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x70]
movaps xmmword [rsp + 0x70], xmm3
call sym.string_to_upper
mov rsi, qword [rsp + 0x88]
mov r10, qword [rsp + 0x80]
mov ebx, esi
shr rsi, 0x20
test bp, bp
jne 0x402d60
test ebx, ebx
je 0x40235e
jle 0x40235e
test r10, r10
je 0x40235e
mov rcx, qword [rsp + 0x168]
mov r8d, ebx
mov rdx, r10
call sym.array_push_many.part.70
cmp esi, 0xfa1d05ee
jne 0x4022b9
mov ecx, 1
mov ebx, 0x1e
call qword [sym.__acrt_iob_func]
lea rsi, str.double_string.free___detected_n
mov rdi, rax
nop
nop word cs:[rax + rax]
mov r8, rbx
mov rcx, rsi
mov r9, rdi
mov edx, 1
call sym.fwrite
sub rbx, rax
add rsi, rax
test rbx, rbx
jg 0x402390
jmp 0x4022b9
cmp r10d, 3
jne 0x4024c0
movsx r14, byte [r12 + 0x18]
test r8d, r8d
jne 0x4024d0
test bp, bp
je 0x402560
test r14, r14
jns 0x4023ef
mov byte [rsp + 0x9c], 0
mov eax, dword [rsp + 0x34]
lea rdx, [rsp + 0x50]
mov r8, qword [rsp + 0x168]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x68], eax
mov rax, r14
sar rax, 0x3f
xor r14, rax
mov rcx, r14
sub rcx, rax
call sym.strconv__format_dec_sb
jmp 0x4022b9
lea eax, [r10 - 2]
and eax, 0xfffffffd
je 0x4026b0
lea eax, [r10 - 6]
and eax, 0xfffffffd
je 0x402820
cmp r10d, 0x11
je 0x4038ab
test esi, esi
jne 0x403180
cmp ecx, 0x7f
jne 0x403180
cmp r10d, 0x12
ja case.0x4031ae.0
lea rdx, [0x0041e120]
mov r10d, r10d
movsxd rax, dword [rdx + r10*4]
add rax, rdx
jmp rax
movsx r14, word [r12 + 0x18]
jmp 0x4023d0
mov rcx, r14
shr rcx, 0x3f
cmp dl, 0x20
setne al
and eax, ecx
cmp r8d, 3
je 0x402df0
lea edx, [r8 - 2]
test al, al
jne 0x402700
cmp edx, 0x22
ja 0x4042c6
test r14, r14
jne 0x403020
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x402e20
test bp, bp
mov edi, 1
mov ebx, 1
lea r15, [0x0041e0b3]
jne 0x402e80
mov rcx, qword [rsp + 0x168]
mov r8d, edi
mov rdx, r15
call sym.array_push_many.part.70
cmp ebx, 0xfa1d05ee
jne 0x4022b9
call sym.string_free.part.28
jmp 0x4022b9
test r14, r14
je 0x402f90
cmp r14, qword [0x0044e438]
je 0x402850
mov ecx, 0x15
call sym.malloc_noscan
test r14, r14
mov r10, rax
js 0x403160
mov byte [rax + 0x14], 0
xor ebx, ebx
mov r8, qword [0x0044e440]
mov r9d, 0x13
movabs r11, 0x28f5c28f5c28f5c3
jmp 0x4025b6
mov r9d, ecx
mov r14, rdx
mov rdx, r14
shr rdx, 2
mov rax, rdx
mul r11
movsxd rax, r9d
shr rdx, 2
imul ecx, edx, 0xffffff9c
add ecx, r14d
add ecx, ecx
cmp r14, 0x63
movzx esi, byte [r8 + rcx]
lea rdi, [rcx + 1]
mov byte [r10 + rax], sil
movzx esi, byte [r8 + rcx + 1]
lea eax, [r9 - 1]
movsxd rcx, eax
mov byte [r10 + rcx], sil
lea ecx, [r9 - 2]
jg 0x4025b0
cmp rdi, 0x14
cmovge r9d, eax
test bl, bl
jne 0x403110
movsxd rdx, r9d
add rdx, r10
mov r8d, 0x15
mov ebx, 0x14
mov rcx, r10
sub r8d, r9d
sub ebx, r9d
movsxd r8, r8d
call sym.memmove
test ebx, ebx
mov r10, rax
je 0x4022b9
jle 0x4022b9
nop dword [rax]
mov rcx, qword [rsp + 0x168]
mov r8d, ebx
mov rdx, r10
call sym.array_push_many.part.70
jmp 0x4022b9
mov ebx, dword [r12 + 0x20]
mov esi, 1
lea r10, [0x0041e097]
test ebx, ebx
je 0x402337
mov rsi, qword [r12 + 0x18]
lea ecx, [rbx + 1]
movsxd rdi, ebx
movsxd rcx, ecx
call sym.malloc_noscan
mov r8, rdi
mov rcx, rax
mov rdx, rsi
xor esi, esi
call sym.memcpy
mov r10, rax
mov byte [rax + rdi], 0
jmp 0x402337
cmp r10d, 2
jne 0x402840
movzx esi, byte [r12 + 0x18]
test r8d, r8d
jne 0x402f10
test bp, bp
jne 0x402fb0
lea r9, [0x0041e0b3]
test rsi, rsi
mov ebx, 1
jne 0x403040
mov rcx, qword [rsp + 0x168]
mov r8d, ebx
mov rdx, r9
call sym.array_push_many.part.70
jmp 0x4022b9
neg r14
cmp edx, 0x22
ja 0x4042c6
movsxd rax, r8d
mov byte [rsp + 0x4d], 1
mov qword [rsp + 0x40], rax
test r14, r14
mov byte [rsp + 0x4c], 0
jns 0x40272b
neg r14
mov byte [rsp + 0x4c], 1
lea rdi, [0x0041e097]
xor ebx, ebx
mov word [rsp + 0x4e], bp
jmp 0x402742
mov ebx, esi
lea r12d, [rbx + 2]
mov rax, r14
lea esi, [rbx + 1]
cqo
movsxd r13, r12d
idiv qword [rsp + 0x40]
mov r14, rax
lea rax, [0x0044e450]
mov rax, qword [rax]
movzx r15d, byte [rax + rdx]
call sym.malloc_noscan.constprop.4
mov rcx, r13
mov byte [rax + 1], 0
mov byte [rax], r15b
call sym.malloc_noscan
mov rdx, rdi
movsxd r8, ebx
mov byte [rax], r15b
lea rcx, [rax + 1]
mov rbp, rax
call sym.memcpy
movsxd rdx, esi
test r14, r14
mov rdi, rbp
mov byte [rbp + rdx], 0
jne 0x402740
cmp byte [rsp + 0x4c], 0
mov r15, rbp
mov r14, rdi
mov edi, esi
movzx ebp, word [rsp + 0x4e]
mov rsi, rdx
jne 0x403130
mov r11d, dword [rsp + 0x38]
xor ebx, ebx
xor eax, eax
test r11d, r11d
jne 0x402e36
cmp byte [rsp + 0x4d], 0
je 0x4027f7
mov rcx, qword [rsp + 0x168]
lea rdx, [rsp + 0xb0]
mov byte [rsp + 0xb0], 0x2d
call sym.array_push_noscan
sub dword [rsp + 0x34], 1
test bp, bp
jne 0x402e80
test edi, edi
je 0x402540
jle 0x402540
test r15, r15
je 0x402540
jmp 0x40252d
cmp r10d, 6
mov rsi, qword [r12 + 0x18]
jne 0x4026c0
mov esi, dword [r12 + 0x18]
jmp 0x4026c0
movzx esi, word [r12 + 0x18]
jmp 0x4026c0
lea r10, str._9223372036854775808
mov ebx, 0x14
jmp 0x402640
mov rax, qword [r12 + 0x18]
lea rdx, [0x0041e0b3]
mov edi, 1
test rax, rax
jne 0x40396e
mov rcx, qword [rsp + 0x168]
mov r8d, edi
call sym.array_push_many.part.70
jmp 0x4022b9
mov ebx, dword [r12 + 0x18]
mov ecx, 5
call sym.malloc_noscan
cmp ebx, 0x7f
jle 0x403d01
cmp ebx, 0x7ff
jle 0x403eb2
cmp ebx, 0xffff
jle 0x403f40
cmp ebx, 0x10ffff
jg 0x4022b9
mov edx, ebx
mov ecx, ebx
mov r8d, 4
sar edx, 0x12
and ecx, 0x3f
or edx, 0xfffffff0
or ecx, 0xffffff80
mov byte [rax], dl
mov edx, ebx
sar edx, 0xc
mov byte [rax + 3], cl
and edx, 0x3f
or edx, 0xffffff80
mov byte [rax + 1], dl
mov edx, ebx
sar edx, 6
and edx, 0x3f
or edx, 0xffffff80
mov byte [rax + 2], dl
mov edx, 4
mov rcx, qword [rsp + 0x168]
mov byte [rax + rdx], 0
mov rdx, rax
call sym.array_push_many.part.70
jmp 0x4022b9
movsd xmm1, qword [r12 + 0x18]
pxor xmm6, xmm6
ucomisd xmm1, xmm6
jnp 0x403e04
lea rbx, [rsp + 0x80]
movapd xmm2, xmm1
movapd xmm0, xmm1
xorpd xmm0, xmmword [0x0041f360]
cmpltsd xmm2, xmm6
andpd xmm0, xmm2
andnpd xmm2, xmm1
orpd xmm0, xmm2
comisd xmm0, xmmword [0x0041f388]
jb 0x40297b
movsd xmm2, qword [0x0041f390]
comisd xmm2, xmm0
ja 0x4041ea
mov r8d, 0x11
mov rcx, rbx
call sym.strconv__f64_to_str
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x80]
mov edi, eax
shr rax, 0x20
mov r13, rax
mov ecx, dword [rsp + 0x38]
mov esi, r13d
test ecx, ecx
jne 0x403d8f
test edi, edi
je 0x4029c0
jle 0x4029c0
test r12, r12
jne 0x4041df
cmp esi, 0xfa1d05ee
jne 0x4022b9
jmp 0x40254c
movsd xmm1, qword [r12 + 0x18]
movabs rdx, 0x8000000000000000
movq rax, xmm1
cmp rax, rdx
je 0x403f16
test rax, rax
je 0x403f73
movapd xmm5, xmm1
pxor xmm2, xmm2
movapd xmm0, xmm1
xorpd xmm0, xmmword [0x0041f360]
cmpltsd xmm5, xmm2
movapd xmm2, xmm5
andpd xmm0, xmm5
andnpd xmm2, xmm1
orpd xmm0, xmm2
comisd xmm0, xmmword [0x0041f388]
jb 0x402a3e
movsd xmm2, qword [0x0041f390]
comisd xmm2, xmm0
ja 0x4043c0
movabs rdx, 0xfffffffffffff
mov rsi, rax
and rdx, rax
shr rax, 0x34
and eax, 0x7ff
shr rsi, 0x3f
cmp rax, 0x7ff
mov r8, rax
je 0x4044a4
mov rax, rdx
or rax, r8
jne 0x404219
test sil, sil
jne 0x4045d3
cmp dword [rsp + 0x38], 0
je 0x40229e
lea rdx, str.0e00
mov eax, 5
mov qword [rsp + 0x70], rdx
lea rcx, [rsp + 0x80]
and eax, 7
lea rdx, [rsp + 0x70]
bts rax, 0x20
mov qword [rsp + 0x78], rax
call sym.string_to_upper
mov rax, qword [rsp + 0x88]
mov r13, qword [rsp + 0x80]
mov r12d, eax
shr rax, 0x20
mov rsi, rax
test r12d, r12d
je 0x4029c0
jle 0x4029c0
test r13, r13
je 0x4029c0
mov rcx, qword [rsp + 0x168]
mov r8d, r12d
mov rdx, r13
call sym.array_push_many.part.70
jmp 0x4029c0
movss xmm1, dword [r12 + 0x18]
pxor xmm6, xmm6
ucomiss xmm1, xmm6
jnp 0x403e34
lea rbx, [rsp + 0x80]
movaps xmm2, xmm1
movaps xmm0, xmm1
xorps xmm0, xmmword [0x0041f370]
cmpltss xmm2, xmm6
andps xmm0, xmm2
andnps xmm2, xmm1
orps xmm0, xmm2
comiss xmm0, dword [0x0041f380]
jb 0x402b61
movss xmm2, dword [0x0041f384]
comiss xmm2, xmm0
ja 0x40415a
mov r8d, 8
mov rcx, rbx
call sym.strconv__f32_to_str
jmp 0x402989
movss xmm1, dword [r12 + 0x18]
movd eax, xmm1
cmp eax, 0x80000000
je 0x404122
test eax, eax
je 0x403fe8
movaps xmm4, xmm1
pxor xmm2, xmm2
movaps xmm0, xmm1
xorps xmm0, xmmword [0x0041f370]
cmpltss xmm4, xmm2
lea rbx, [rsp + 0x80]
movaps xmm2, xmm4
andps xmm0, xmm4
andnps xmm2, xmm1
orps xmm0, xmm2
comiss xmm0, dword [0x0041f380]
jb 0x402b61
movss xmm2, dword [0x0041f384]
comiss xmm2, xmm0
jbe 0x402b61
mov r8d, 6
mov rcx, rbx
call sym.strconv__f32_to_str
mov rax, qword [rsp + 0x88]
mov rcx, rbx
mov rdx, qword [rsp + 0x80]
mov rdi, rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rdx
lea rdx, [rsp + 0x70]
sar rdi, 0x20
call sym.strconv__fxx_to_str_l_parse
cmp edi, 0xfa1d05ee
mov r12, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
je 0x404644
mov rax, rsi
mov edi, esi
shr rax, 0x20
mov r13, rax
jmp 0x4029a2
movss xmm1, dword [r12 + 0x18]
movd eax, xmm1
cmp eax, 0x80000000
je 0x4041fd
test eax, eax
je 0x403f8f
movaps xmm4, xmm1
pxor xmm2, xmm2
movaps xmm0, xmm1
xorps xmm0, xmmword [0x0041f370]
cmpltss xmm4, xmm2
lea rbx, [rsp + 0x80]
movaps xmm2, xmm4
andps xmm0, xmm4
andnps xmm2, xmm1
orps xmm0, xmm2
comiss xmm0, dword [0x0041f380]
jb 0x402b61
movss xmm2, dword [0x0041f384]
comiss xmm2, xmm0
jbe 0x402b61
mov r8d, 6
mov rcx, rbx
call sym.strconv__f32_to_str
mov rax, qword [rsp + 0x88]
mov rcx, rbx
mov rdx, qword [rsp + 0x80]
mov rdi, rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rdx
lea rdx, [rsp + 0x70]
sar rdi, 0x20
call sym.strconv__fxx_to_str_l_parse
cmp edi, 0xfa1d05ee
mov r12, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
jne 0x402c2a
mov ecx, 1
mov edi, 0x1e
call qword [sym.__acrt_iob_func]
lea r13, str.double_string.free___detected_n
mov r14, rax
mov r8, rdi
mov rcx, r13
mov r9, r14
mov edx, 1
call sym.fwrite
sub rdi, rax
add r13, rax
test rdi, rdi
jg 0x402d13
jmp 0x402c2a
mov rcx, qword [rsp + 0x168]
mov r8d, 0xc
lea rdx, str.ERROR_
call sym.array_push_many.part.70
jmp 0x4022b9
mov eax, dword [rsp + 0x34]
mov ebx, ebx
mov qword [rsp + 0x80], r10
mov r8, qword [rsp + 0x168]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x80]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x98], eax
mov rax, rsi
shl rax, 0x20
or rbx, rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x68], eax
call sym.strconv__format_str_sb
jmp 0x40235e
test al, al
mov r8d, 2
je 0x4024fe
neg r14
mov byte [rsp + 0x4d], 1
mov qword [rsp + 0x40], 2
jmp 0x402719
mov byte [rsp + 0x4d], 0
mov edi, 1
mov eax, 1
lea r15, [0x0041e0b3]
mov r11d, edi
shl rax, 0x20
mov qword [rsp + 0x70], r15
lea rcx, [rsp + 0x80]
or rax, r11
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x78], rax
call sym.string_to_upper
mov rbx, qword [rsp + 0x88]
mov r15, qword [rsp + 0x80]
mov edi, ebx
shr rbx, 0x20
jmp 0x4027ce
mov eax, dword [rsp + 0x34]
mov r11d, edi
mov qword [rsp + 0x80], r15
mov r8, qword [rsp + 0x168]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x80]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x98], eax
mov rax, rbx
shl rax, 0x20
or r11, rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x68], eax
call sym.strconv__format_str_sb
jmp 0x402540
cmp r8d, 3
mov eax, 2
mov rdx, rsi
cmove r8d, eax
lea rbx, [rsp + 0x80]
mov rcx, rbx
call sym.strconv__format_uint
mov r8, qword [rsp + 0x88]
mov r10d, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x80]
mov rdi, r8
sar rdi, 0x20
test r10d, r10d
mov esi, edi
jne 0x403850
test bp, bp
jne 0x4037d0
test r8d, r8d
je 0x4029c0
jle 0x4029c0
test rdx, rdx
je 0x4029c0
mov rcx, qword [rsp + 0x168]
call sym.array_push_many.part.70
jmp 0x4029c0
lea r10, [0x0041e0b3]
mov ebx, 1
jmp 0x402640
mov eax, dword [rsp + 0x34]
lea rdx, [rsp + 0x50]
mov rcx, rsi
mov r8, qword [rsp + 0x168]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x68], eax
call sym.strconv__format_dec_sb
jmp 0x4022b9
movsxd rax, r8d
mov byte [rsp + 0x4d], 0
mov qword [rsp + 0x40], rax
jmp 0x402719
mov ecx, 0x15
call sym.malloc_noscan
mov r10, qword [0x0044e440]
mov r8d, 0x13
movabs r11, 0x28f5c28f5c28f5c3
mov r9, rax
mov byte [rax + 0x14], 0
jmp 0x403076
mov r8d, ecx
mov rsi, rdx
mov rdx, rsi
mov rdi, rsi
movsxd rbx, r8d
lea r12d, [r8 - 1]
shr rdx, 2
add rbx, r9
mov rax, rdx
mul r11
shr rdx, 2
imul rax, rdx, 0x64
sub rdi, rax
movzx eax, byte [r10 + rdi*2]
lea rcx, [rdi + rdi]
lea rdi, [rcx + 1]
mov byte [rbx], al
movzx ecx, byte [r10 + rcx + 1]
movsxd rax, r12d
add rax, r9
cmp rsi, 0x63
mov byte [rax], cl
lea ecx, [r8 - 2]
ja 0x403070
cmp rdi, 0x13
mov rdx, rax
mov rcx, r9
cmovbe r12d, r8d
mov r8d, 0x15
cmovbe rdx, rbx
mov ebx, 0x14
sub r8d, r12d
sub ebx, r12d
movsxd r8, r8d
call sym.memmove
test ebx, ebx
mov r9, rax
jle 0x4022b9
jmp 0x4026e7
mov r9d, 0x15
nop word cs:[rax + rax]
sub r9d, 1
movsxd rdx, r9d
add rdx, r10
mov byte [rdx], 0x2d
jmp 0x402610
lea ecx, [rbx + 3]
mov edi, r12d
movsxd rcx, ecx
call sym.malloc_noscan
mov r8, rsi
mov rdx, r14
mov byte [rax], 0x2d
lea rcx, [rax + 1]
mov r15, rax
call sym.memcpy
mov byte [r15 + r13], 0
jmp 0x4027bc
neg r14
mov byte [rax + 0x14], 0
test r14, r14
jle 0x403100
mov ebx, 1
jmp 0x402592
mov edi, dword [rsp + 0x48]
mov eax, 3
cmp edi, 0xffffffff
cmovne eax, edi
cmp r10d, 0x12
mov dword [rsp + 0x48], eax
ja case.0x4031ae.0
lea rdx, [0x0041e16c]
mov r10d, r10d
movsxd rax, dword [rdx + r10*4]
add rax, rdx
jmp rax
movss xmm1, dword [r12 + 0x18]
pxor xmm0, xmm0
comiss xmm0, xmm1
jbe 0x4031c8
mov byte [rsp + 0x9c], 0
mov eax, dword [rsp + 0x34]
lea r8, [rsp + 0x50]
cvtss2sd xmm1, xmm1
mov dword [rsp + 0x98], 6
lea r13, [rsp + 0x80]
mov dword [rsp + 0x94], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x68], eax
mov rcx, r13
call sym.strconv__format_es
mov rbx, qword [rsp + 0x88]
mov edx, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x80]
mov r12, rbx
sar r12, 0x20
test edx, edx
mov edi, r12d
jne 0x403926
test ebx, ebx
je 0x40326d
jle 0x40326d
test rsi, rsi
je 0x40326d
mov rcx, qword [rsp + 0x168]
mov r8d, ebx
mov rdx, rsi
call sym.array_push_many.part.70
cmp edi, 0xfa1d05ee
jne 0x4022b9
jmp 0x40254c
movsd xmm0, qword [r12 + 0x18]
pxor xmm6, xmm6
ucomisd xmm0, xmm6
jnp 0x403eab
ucomisd xmm0, qword [0x0041f3b0]
jnp 0x403f0f
ucomisd xmm0, qword [0x0041f3b8]
jp 0x403df2
jne 0x403df2
mov edi, dword [rsp + 0x34]
lea rdx, str.INF
mov ecx, 7
cmp dword [rsp + 0x38], 0
lea rax, str.inf
lea rsi, [rsp + 0x90]
mov dword [rsp + 0x94], edi
mov edi, dword [rsp + 0x48]
lea r13, [rsp + 0x50]
cmovne rax, rdx
mov rdx, r13
mov qword [rsp + 0x80], rax
mov eax, 0x40000001
shl rax, 2
mov dword [rsp + 0x98], edi
mov qword [rsp + 0x88], rax
lea rdi, [rsp + 0x50]
rep movsd dword [rdi], dword [rsi]
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov r8, qword [rsp + 0x168]
call sym.strconv__format_str_sb
movsd xmm0, qword [0x0041f3c0]
ucomisd xmm0, qword [r12 + 0x18]
jp 0x4033b2
jne 0x4033b2
mov edi, dword [rsp + 0x34]
lea rdx, str._INF
mov ecx, 7
cmp dword [rsp + 0x38], 0
lea rax, str._inf
lea rsi, [rsp + 0x90]
mov dword [rsp + 0x94], edi
mov edi, dword [rsp + 0x48]
cmovne rax, rdx
mov qword [rsp + 0x80], rax
mov eax, 0x40000001
shl rax, 2
mov dword [rsp + 0x98], edi
mov rdi, r13
mov qword [rsp + 0x88], rax
lea r13, [rsp + 0x50]
rep movsd dword [rdi], dword [rsi]
mov rdx, r13
mov rcx, rbx
mov r8, qword [rsp + 0x168]
call sym.strconv__format_str_sb
movsd xmm1, qword [r12 + 0x18]
comisd xmm6, xmm1
movapd xmm0, xmm1
jbe 0x4033d3
mov byte [rsp + 0x9c], 0
xorpd xmm0, xmmword [0x0041f360]
mov eax, dword [rsp + 0x34]
movsd xmm2, qword [0x0041f3c8]
comisd xmm2, xmm0
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x98], eax
jbe 0x403405
comisd xmm0, xmmword [0x0041f3d0]
jae 0x403623
mov rax, qword [rsp + 0x90]
mov r8, r13
mov rcx, rbx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x68], eax
call sym.strconv__format_es
mov rsi, qword [rsp + 0x88]
mov r8d, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x80]
mov r12, rsi
sar r12, 0x20
test r8d, r8d
jne 0x403d13
mov ebx, r12d
test esi, esi
je 0x402540
jle 0x402540
test rdi, rdi
je 0x402540
mov rcx, qword [rsp + 0x168]
mov r8d, esi
mov rdx, rdi
call sym.array_push_many.part.70
jmp 0x402540
movss xmm0, dword [r12 + 0x18]
pxor xmm6, xmm6
ucomiss xmm0, xmm6
jnp 0x403e3b
ucomiss xmm0, dword [0x0041f398]
jnp 0x403ed7
ucomiss xmm0, dword [0x0041f39c]
jp 0x403de0
jne 0x403de0
mov edi, dword [rsp + 0x34]
lea rdx, str.INF
mov ecx, 7
cmp dword [rsp + 0x38], 0
lea rax, str.inf
lea rsi, [rsp + 0x90]
mov dword [rsp + 0x94], edi
mov edi, dword [rsp + 0x48]
lea r13, [rsp + 0x50]
cmovne rax, rdx
mov rdx, r13
mov qword [rsp + 0x80], rax
mov eax, 0x40000001
shl rax, 2
mov dword [rsp + 0x98], edi
mov qword [rsp + 0x88], rax
lea rdi, [rsp + 0x50]
rep movsd dword [rdi], dword [rsi]
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov r8, qword [rsp + 0x168]
call sym.strconv__format_str_sb
movss xmm0, dword [r12 + 0x18]
ucomiss xmm0, dword [0x0041f3a0]
jp 0x4035d0
jne 0x4035d0
mov edi, dword [rsp + 0x34]
lea rdx, str._INF
mov ecx, 7
cmp dword [rsp + 0x38], 0
lea rax, str._inf
lea rsi, [rsp + 0x90]
mov dword [rsp + 0x94], edi
mov edi, dword [rsp + 0x48]
cmovne rax, rdx
mov qword [rsp + 0x80], rax
mov eax, 0x40000001
shl rax, 2
mov dword [rsp + 0x98], edi
mov rdi, r13
mov qword [rsp + 0x88], rax
lea r13, [rsp + 0x50]
rep movsd dword [rdi], dword [rsi]
mov rdx, r13
mov rcx, rbx
mov r8, qword [rsp + 0x168]
call sym.strconv__format_str_sb
movss xmm0, dword [r12 + 0x18]
comiss xmm6, xmm0
movaps xmm2, xmm0
jbe 0x4035e7
mov byte [rsp + 0x9c], 0
xorps xmm2, xmmword [0x0041f370]
mov eax, dword [rsp + 0x34]
pxor xmm1, xmm1
cvtss2sd xmm1, xmm0
movss xmm0, dword [0x0041f3a4]
comiss xmm0, xmm2
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x98], eax
jbe 0x403405
comiss xmm2, dword [0x0041f3a8]
jb 0x403405
lea rsi, [rsp + 0x90]
mov rdi, r13
mov ecx, 7
rep movsd dword [rdi], dword [rsi]
lea r8, [rsp + 0x50]
mov rcx, rbx
call sym.strconv__format_fl
jmp 0x403442
movss xmm1, dword [r12 + 0x18]
pxor xmm0, xmm0
comiss xmm0, xmm1
jbe 0x40365f
mov byte [rsp + 0x9c], 0
mov eax, dword [rsp + 0x34]
lea r13, [rsp + 0x80]
cvtss2sd xmm1, xmm1
lea r8, [rsp + 0x50]
mov rcx, r13
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x68], eax
call sym.strconv__format_fl
jmp 0x403229
movsd xmm1, qword [r12 + 0x18]
pxor xmm0, xmm0
comisd xmm0, xmm1
jbe 0x4036de
mov byte [rsp + 0x9c], 0
mov eax, dword [rsp + 0x34]
lea r13, [rsp + 0x80]
mov dword [rsp + 0x98], 6
lea r8, [rsp + 0x50]
mov dword [rsp + 0x94], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x68], eax
jmp 0x403221
movsd xmm1, qword [r12 + 0x18]
pxor xmm0, xmm0
comisd xmm0, xmm1
movq rax, xmm1
jbe 0x403756
mov byte [rsp + 0x9c], 0
movabs rdx, 0x8000000000000000
cmp rax, rdx
jne 0x40376d
mov byte [rsp + 0x9c], 0
mov eax, dword [rsp + 0x34]
lea r13, [rsp + 0x80]
lea r8, [rsp + 0x50]
mov rcx, r13
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x68], eax
call sym.strconv__format_fl
jmp 0x403229
mov eax, dword [rsp + 0x34]
mov r8d, r8d
mov qword [rsp + 0x80], rdx
mov rcx, rbx
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x98], eax
mov rax, rsi
shl rax, 0x20
or r8, rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x88], r8
mov r8, qword [rsp + 0x168]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x68], eax
call sym.strconv__format_str_sb
jmp 0x4029c0
mov qword [rsp + 0x70], rdx
lea rdx, [rsp + 0x70]
mov rcx, rbx
mov qword [rsp + 0x78], r8
call sym.string_to_upper
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov rax, r8
shr rax, 0x20
cmp edi, 0xfa1d05ee
mov rsi, rax
jne 0x402f57
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rdx
call sym.string_free.part.28
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
jmp 0x402f57
mov rdx, qword [r12 + 0x18]
lea rbx, [rsp + 0x80]
mov r8d, 0x10
mov rcx, rbx
call sym.strconv__format_uint
mov rsi, qword [rsp + 0x88]
mov r9d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x80]
mov r13, rsi
sar r13, 0x20
test r9d, r9d
mov edi, r13d
jne 0x403cb9
test bp, bp
jne 0x403c3b
test esi, esi
je 0x40326d
jle 0x40326d
test r12, r12
je 0x40326d
mov rcx, qword [rsp + 0x168]
mov r8d, esi
mov rdx, r12
call sym.array_push_many.part.70
jmp 0x40326d
lea rdx, [rsp + 0x70]
mov rcx, r13
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rbx
call sym.string_to_upper
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x80]
mov rax, rbx
shr rax, 0x20
cmp r12d, 0xfa1d05ee
mov rdi, rax
jne 0x40324f
call sym.string_free.part.28
jmp 0x40324f
mov ecx, eax
mov byte [rsp + 0xc0], 0
mov qword [rsp + 0xb8], 0
and ecx, 0xf
lea r8d, [rcx + 0x57]
cmp cl, 0xa
mov qword [rsp + 0xb0], 0
lea edx, [rcx + 0x30]
cmovae edx, r8d
mov byte [rsp + 0xbf], dl
mov rdx, rax
shr rdx, 4
test rdx, rdx
je 0x4044f1
and edx, 0xf
lea r8d, [rdx + 0x57]
cmp dl, 0xa
lea ecx, [rdx + 0x30]
mov edx, r8d
cmovb edx, ecx
mov byte [rsp + 0xbe], dl
mov rdx, rax
shr rdx, 8
test rdx, rdx
je 0x4044e7
and edx, 0xf
lea r8d, [rdx + 0x57]
cmp dl, 0xa
lea ecx, [rdx + 0x30]
mov edx, r8d
cmovb edx, ecx
mov byte [rsp + 0xbd], dl
mov rdx, rax
shr rdx, 0xc
test rdx, rdx
je 0x4044dd
and edx, 0xf
lea r8d, [rdx + 0x57]
cmp dl, 0xa
lea ecx, [rdx + 0x30]
mov edx, r8d
cmovb edx, ecx
mov byte [rsp + 0xbc], dl
mov rdx, rax
shr rdx, 0x10
test rdx, rdx
je 0x4044d3
and edx, 0xf
lea r8d, [rdx + 0x57]
cmp dl, 0xa
lea ecx, [rdx + 0x30]
mov edx, r8d
cmovb edx, ecx
mov byte [rsp + 0xbb], dl
mov rdx, rax
shr rdx, 0x14
test rdx, rdx
je 0x40452a
and edx, 0xf
lea r8d, [rdx + 0x57]
cmp dl, 0xa
lea ecx, [rdx + 0x30]
mov edx, r8d
cmovb edx, ecx
mov byte [rsp + 0xba], dl
mov rdx, rax
shr rdx, 0x18
test rdx, rdx
je 0x404520
and edx, 0xf
lea r8d, [rdx + 0x57]
cmp dl, 0xa
lea ecx, [rdx + 0x30]
mov edx, r8d
cmovb edx, ecx
mov byte [rsp + 0xb9], dl
mov rdx, rax
shr rdx, 0x1c
test rdx, rdx
je 0x404516
and edx, 0xf
lea r8d, [rdx + 0x57]
cmp dl, 0xa
lea ecx, [rdx + 0x30]
mov edx, r8d
cmovb edx, ecx
mov byte [rsp + 0xb8], dl
mov rdx, rax
shr rdx, 0x20
test rdx, rdx
je 0x40450c
and edx, 0xf
lea ecx, [rdx + 0x30]
cmp dl, 9
jbe 0x403aec
lea ecx, [rdx + 0x57]
mov rdx, rax
mov byte [rsp + 0xb7], cl
shr rdx, 0x24
test rdx, rdx
je 0x404534
and edx, 0xf
lea ecx, [rdx + 0x30]
cmp dl, 9
jbe 0x403b11
lea ecx, [rdx + 0x57]
mov rdx, rax
mov byte [rsp + 0xb6], cl
shr rdx, 0x28
test rdx, rdx
je 0x4044c9
and edx, 0xf
lea ecx, [rdx + 0x30]
cmp dl, 9
jbe 0x403b36
lea ecx, [rdx + 0x57]
mov rdx, rax
mov byte [rsp + 0xb5], cl
shr rdx, 0x2c
test rdx, rdx
je 0x404569
and edx, 0xf
lea ecx, [rdx + 0x30]
cmp dl, 9
jbe 0x403b5b
lea ecx, [rdx + 0x57]
mov rdx, rax
mov byte [rsp + 0xb4], cl
shr rdx, 0x30
test rdx, rdx
je 0x40455f
and edx, 0xf
lea ecx, [rdx + 0x30]
cmp dl, 9
jbe 0x403b80
lea ecx, [rdx + 0x57]
mov rdx, rax
mov byte [rsp + 0xb3], cl
shr rdx, 0x34
test rdx, rdx
je 0x4046c9
and edx, 0xf
lea ecx, [rdx + 0x30]
cmp dl, 9
jbe 0x403ba5
lea ecx, [rdx + 0x57]
mov rdx, rax
mov byte [rsp + 0xb2], cl
shr rdx, 0x38
test rdx, rdx
je 0x4046bf
and edx, 0xf
lea ecx, [rdx + 0x30]
cmp dl, 9
jbe 0x403bca
lea ecx, [rdx + 0x57]
shr rax, 0x3c
mov byte [rsp + 0xb1], cl
test rax, rax
je 0x4046d3
lea edx, [rax + 0x57]
cmp al, 9
ja 0x403be8
lea edx, [rax + 0x30]
mov byte [rsp + 0xb0], dl
xor esi, esi
mov ebx, 0x11
mov edi, 0x10
sub ebx, esi
sub edi, esi
movsxd rcx, ebx
call sym._v_malloc
lea rdx, [rsp + rsi + 0xb0]
cmp ebx, 8
jae 0x403d5b
test bl, 4
jne 0x404491
test ebx, ebx
je 0x403c33
movzx ecx, byte [rdx]
test bl, 2
mov byte [rax], cl
jne 0x4046dd
mov rdx, rax
jmp 0x40287b
mov eax, dword [rsp + 0x34]
mov rdx, rdi
mov rcx, rbx
mov qword [rsp + 0x80], r12
shl rdx, 0x20
mov r8, qword [rsp + 0x168]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x98], eax
mov eax, esi
or rax, rdx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x90]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x68], eax
call sym.strconv__format_str_sb
jmp 0x40326d
lea rdx, [rsp + 0x70]
mov rcx, rbx
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], rsi
call sym.string_to_upper
mov rsi, qword [rsp + 0x88]
mov r12, qword [rsp + 0x80]
mov rax, rsi
shr rax, 0x20
cmp r13d, 0xfa1d05ee
mov rdi, rax
jne 0x4038ee
call sym.string_free.part.28
jmp 0x4038ee
mov byte [rax], bl
mov edx, 1
mov r8d, 1
jmp 0x402908
lea rdx, [rsp + 0x70]
mov rcx, rbx
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rsi
call sym.string_to_upper
mov rsi, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x80]
mov rax, rsi
shr rax, 0x20
cmp r12d, 0xfa1d05ee
mov rbx, rax
jne 0x40346a
call sym.string_free.part.28
jmp 0x40346a
mov ecx, ebx
sub ebx, 1
mov r8, qword [rdx + rcx - 8]
cmp ebx, 8
mov qword [rax + rcx - 8], r8
jb 0x403c33
and ebx, 0xfffffff8
xor ecx, ecx
mov r8d, ecx
add ecx, 8
mov r9, qword [rdx + r8]
cmp ecx, ebx
mov qword [rax + r8], r9
jb 0x403d78
jmp 0x403c33
lea rdx, [rsp + 0x70]
mov rax, rsi
mov rcx, rbx
mov qword [rsp + 0x70], r12
shl rax, 0x20
or rax, rdi
mov qword [rsp + 0x78], rax
call sym.string_to_upper
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x80]
mov edi, eax
shr rax, 0x20
cmp r13d, 0xfa1d05ee
mov rsi, rax
jne 0x4029b1
call sym.string_free.part.28
jmp 0x4029b1
lea rbx, [rsp + 0x80]
lea r13, [rsp + 0x50]
jmp 0x40354e
lea rbx, [rsp + 0x80]
lea r13, [rsp + 0x50]
jmp 0x40332f
jne 0x402936
cmp dword [rsp + 0x38], 0
jne 0x4041bc
mov rcx, qword [rsp + 0x168]
mov r8d, 3
lea rdx, [0x0041e0d9]
call sym.array_push_many.part.70
jmp 0x4022b9
je 0x403e0a
jmp 0x402b24
jne 0x4034ad
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x98], eax
lea rax, [0x0041e0b3]
mov qword [rsp + 0x80], rax
movabs rax, 0x100000001
mov qword [rsp + 0x88], rax
lea rdi, [rsp + 0x50]
mov ecx, 7
lea rsi, [rsp + 0x90]
rep movsd dword [rdi], dword [rsi]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x80]
mov r8, qword [rsp + 0x168]
call sym.strconv__format_str_sb
jmp 0x4022b9
je 0x403e41
jmp 0x403293
mov edx, ebx
mov r8d, 2
sar edx, 6
or edx, 0xffffffc0
mov byte [rax], dl
mov edx, ebx
and edx, 0x3f
or edx, 0xffffff80
mov byte [rax + 1], dl
mov edx, 2
jmp 0x402908
jne 0x4034ba
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x98], eax
lea rax, [0x0041e10f]
mov qword [rsp + 0x80], rax
mov eax, 0x80000001
add rax, rax
jmp 0x403e70
je 0x403edd
jmp 0x4032a1
cmp dword [rsp + 0x38], 0
jne 0x4044fb
mov rcx, qword [rsp + 0x168]
mov r8d, 4
lea rdx, str._0.0
call sym.array_push_many.part.70
jmp 0x4022b9
mov edx, ebx
mov r8d, 3
sar edx, 0xc
or edx, 0xffffffe0
mov byte [rax], dl
mov edx, ebx
sar edx, 6
and edx, 0x3f
or edx, 0xffffff80
mov byte [rax + 1], dl
mov edx, ebx
and edx, 0x3f
or edx, 0xffffff80
mov byte [rax + 2], dl
mov edx, 3
jmp 0x402908
cmp dword [rsp + 0x38], 0
je 0x403e15
lea rdx, [0x0041e0d9]
mov eax, 3
jmp 0x402a96
cmp dword [rsp + 0x38], 0
je 0x403e15
lea rdx, [0x0041e0d9]
mov eax, 3
lea rcx, [rsp + 0x80]
and eax, 7
mov qword [rsp + 0x70], rdx
bts rax, 0x20
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x78], rax
call sym.string_to_upper
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x80]
mov edi, eax
shr rax, 0x20
mov rsi, rax
jmp 0x4029b1
cmp dword [rsp + 0x38], 0
je 0x403e15
lea rdx, [0x0041e0d9]
mov eax, 3
jmp 0x403fa6
cmp dword [rsp + 0x38], 0
je 0x403e15
lea rdx, [0x0041e0d9]
mov eax, 3
jmp 0x402a96
lea r9, [r8 - 0x3ff]
cmp r9, 0x34
ja 0x40426e
mov rax, rdx
mov ecx, 0x34
bts rax, 0x34
sub rcx, r9
mov r9, rax
shr r9, cl
mov rdi, r9
shl rdi, cl
cmp rax, rdi
jne 0x40426e
xor r8d, r8d
mov r10d, 0xa
jmp 0x404061
mov r9, rax
xor edx, edx
mov rax, r9
mov ecx, r8d
div r10
add r8d, 1
test rdx, rdx
je 0x40405e
lea rbx, [rsp + 0x80]
mov eax, ecx
lea rdi, [rsp + 0x70]
mov qword [rsp + 0x70], r9
mov r8d, esi
mov rcx, rbx
mov r9d, 0x11
mov dword [rsp + 0x20], 0
mov rdx, rdi
mov qword [rsp + 0x78], rax
call sym.strconv__Dec64_get_string_64
mov rax, qword [rsp + 0x88]
mov r13, qword [rsp + 0x80]
mov r12d, eax
shr rax, 0x20
mov r14, rax
cmp dword [rsp + 0x38], 0
mov esi, r14d
je 0x402ad4
mov rax, rsi
mov rdx, rdi
mov rcx, rbx
mov qword [rsp + 0x70], r13
shl rax, 0x20
or rax, r12
mov qword [rsp + 0x78], rax
call sym.string_to_upper
mov rax, qword [rsp + 0x88]
mov r13, qword [rsp + 0x80]
mov r12d, eax
shr rax, 0x20
cmp r14d, 0xfa1d05ee
mov rsi, rax
jne 0x402ad4
call sym.string_free.part.28
jmp 0x402ad4
cmp dword [rsp + 0x38], 0
je 0x403f21
lea rdx, str._0.0
mov eax, 4
jmp 0x403fa6
cmp dword [rsp + 0x38], 0
je 0x403f21
lea rdx, str._0.0
mov eax, 4
jmp 0x402a96
mov r8d, 6
mov rcx, rbx
call sym.strconv__f32_to_str
mov rax, qword [rsp + 0x88]
mov rcx, rbx
mov rdx, qword [rsp + 0x80]
mov rdi, rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rdx
lea rdx, [rsp + 0x70]
sar rdi, 0x20
call sym.strconv__fxx_to_str_l_parse
cmp edi, 0xfa1d05ee
mov r12, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
jne 0x402c2a
call sym.string_free.part.28
jmp 0x402c2a
lea rax, [0x0041e0d9]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x80]
movabs rax, 0x100000003
jmp 0x403fbb
mov r8d, edi
mov rdx, r12
jmp 0x402f78
mov r8d, 0x12
mov rcx, rbx
call sym.strconv__f64_to_str
jmp 0x404168
cmp dword [rsp + 0x38], 0
je 0x403f21
lea rdx, str._0.0
mov eax, 4
jmp 0x403fa6
lea r9, [r8 - 0x3ff]
cmp r9, 0x34
ja 0x40426e
mov rax, rdx
mov ecx, 0x34
bts rax, 0x34
sub rcx, r9
mov r9, rax
shr r9, cl
mov rdi, r9
shl rdi, cl
cmp rax, rdi
jne 0x40426e
xor r8d, r8d
mov r10d, 0xa
jmp 0x404255
mov r9, rax
xor edx, edx
mov rax, r9
mov ecx, r8d
div r10
add r8d, 1
test rdx, rdx
je 0x404252
jmp 0x404075
lea rbx, [rsp + 0x80]
mov rcx, rbx
call sym.strconv__f64_to_decimal
mov r9, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
jmp 0x40407f
test rdx, rdx
je 0x40445e
cmp dword [rsp + 0x38], 0
jne 0x404599
mov rcx, qword [rsp + 0x168]
mov r8d, 3
lea rdx, [0x0041e0a4]
call sym.array_push_many.part.70
jmp 0x4022b9
lea rdi, [rsp + 0xc4]
xor eax, eax
mov ecx, 0xf
rep stosd dword [rdi], eax
lea rax, str.invalid_radix:
mov dword [rsp + 0xc0], 0xfe07
mov qword [rsp + 0xb0], rax
lea rbx, [rsp + 0x80]
movabs rax, 0x10000000f
mov qword [rsp + 0xb8], rax
lea rax, str._._It_should_be___2_and___36
mov rcx, rbx
mov qword [rsp + 0xd8], rax
mov eax, 0x8000000f
add rax, rax
mov dword [rsp + 0xc8], r8d
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xe0], rax
call sym.str_intp.constprop.2
mov rcx, rbx
call sym._v_panic
lea rbx, [rsp + 0x80]
mov r8d, 0x12
lea rdi, [rsp + 0x70]
mov rcx, rbx
call sym.strconv__f64_to_str
mov rax, qword [rsp + 0x88]
mov rcx, rbx
mov rdx, qword [rsp + 0x80]
mov r12, rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rdx
sar r12, 0x20
mov rdx, rdi
call sym.strconv__fxx_to_str_l_parse
cmp r12d, 0xfa1d05ee
mov r13, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
je 0x404681
mov rax, rsi
mov r12d, esi
shr rax, 0x20
mov r14, rax
jmp 0x4040c4
lea rbx, [rsp + 0x80]
mov r8d, 0x12
lea rdi, [rsp + 0x70]
mov rcx, rbx
call sym.strconv__f64_to_str
mov rax, qword [rsp + 0x88]
mov rcx, rbx
mov rdx, qword [rsp + 0x80]
mov r12, rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rdx
sar r12, 0x20
mov rdx, rdi
call sym.strconv__fxx_to_str_l_parse
cmp r12d, 0xfa1d05ee
mov r13, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
jne 0x4043ae
mov ecx, 1
mov r12d, 0x1e
call qword [sym.__acrt_iob_func]
lea r15, str.double_string.free___detected_n
mov r14, rax
mov r8, r12
mov rcx, r15
mov r9, r14
mov edx, 1
call sym.fwrite
sub r12, rax
add r15, rax
test r12, r12
jg 0x40443b
jmp 0x4043ae
test sil, sil
jne 0x4045bb
cmp dword [rsp + 0x38], 0
jne 0x4045aa
mov rcx, qword [rsp + 0x168]
mov r8d, 4
lea rdx, str.inf
call sym.array_push_many.part.70
jmp 0x4022b9
mov ecx, dword [rdx]
mov ebx, ebx
mov dword [rax], ecx
mov edx, dword [rdx + rbx - 4]
mov dword [rax + rbx - 4], edx
jmp 0x403c33
test rdx, rdx
je 0x40453e
cmp dword [rsp + 0x38], 0
je 0x4042a7
lea rdx, [0x0041e0a4]
mov eax, 3
jmp 0x402a96
mov esi, 6
jmp 0x403bf1
mov esi, 0xc
jmp 0x403bf1
mov esi, 0xd
jmp 0x403bf1
mov esi, 0xe
jmp 0x403bf1
mov esi, 0xf
jmp 0x403bf1
lea rdx, str._0.0
mov eax, 4
jmp 0x402a96
mov esi, 8
jmp 0x403bf1
mov esi, 9
jmp 0x403bf1
mov esi, 0xa
jmp 0x403bf1
mov esi, 0xb
jmp 0x403bf1
mov esi, 7
jmp 0x403bf1
test sil, sil
jne 0x404573
cmp dword [rsp + 0x38], 0
je 0x404472
lea rdx, str.inf
mov eax, 4
jmp 0x402a96
mov esi, 4
jmp 0x403bf1
mov esi, 5
jmp 0x403bf1
cmp dword [rsp + 0x38], 0
jne 0x4045f9
mov rcx, qword [rsp + 0x168]
mov r8d, 4
lea rdx, str._inf
call sym.array_push_many.part.70
jmp 0x4022b9
lea rdx, [0x0041e0a4]
mov eax, 3
jmp 0x402a96
lea rdx, str.inf
mov eax, 4
jmp 0x402a96
cmp dword [rsp + 0x38], 0
je 0x40457a
lea rdx, str._inf
mov eax, 4
jmp 0x402a96
cmp dword [rsp + 0x38], 0
jne 0x40460a
mov rcx, qword [rsp + 0x168]
mov r8d, 6
lea rdx, str._0e00
call sym.array_push_many.part.70
jmp 0x4022b9
lea rdx, str._inf
mov eax, 4
jmp 0x402a96
lea rdx, str._0e00
mov eax, 6
jmp 0x402a96
lea rdx, str.0e00
mov eax, 5
jmp 0x402a96
cmp dword [rsp + 0x38], 0
je 0x4045da
lea rdx, str._0e00
mov eax, 6
jmp 0x402a96
mov ecx, 1
mov edi, 0x1e
call qword [sym.__acrt_iob_func]
lea r13, str.double_string.free___detected_n
mov r14, rax
mov r8, rdi
mov rcx, r13
mov r9, r14
mov edx, 1
call sym.fwrite
sub rdi, rax
add r13, rax
test rdi, rdi
jg 0x40465e
jmp 0x402c2a
mov ecx, 1
mov r12d, 0x1e
call qword [sym.__acrt_iob_func]
lea r15, str.double_string.free___detected_n
mov r14, rax
mov r8, r12
mov rcx, r15
mov r9, r14
mov edx, 1
call sym.fwrite
sub r12, rax
add r15, rax
test r12, r12
jg 0x40469c
jmp 0x4043ae
mov esi, 2
jmp 0x403bf1
mov esi, 3
jmp 0x403bf1
mov esi, 1
jmp 0x403bf1
mov ebx, ebx
movzx edx, word [rdx + rbx - 2]
mov word [rax + rbx - 2], dx
jmp 0x403c33