Function at 0x447f40
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x138
lea rbp, [rsp + 0x80]
lea rax, [rbp + 0x100]
mov r12, rcx
mov rsi, r8
mov qword [rbp + 0x108], rdx
mov qword [rbp + 0xa0], rax
movzx eax, byte [rdx + 0xd]
mov dword [rbp + 0x98], 0
mov ebx, eax
mov byte [rbp + 0x20], al
shr bl, 2
mov dword [rbp + 0x54], 0
and ebx, 1
movzx eax, bl
mov dword [rbp + 0x14], eax
call qword [sym.imp.msvcrt.dll_localeconv]
mov rdi, qword [rbp + 0x108]
movzx edi, byte [rdi + 0xd]
mov edx, edi
mov byte [rbp + 0x20], dil
and edx, 1
je 0x447fce
mov rdi, qword [rax + 0x28]
mov qword [rbp + 0x18], rdi
test rdi, rdi
je 0x447fce
cmp byte [rdi], 0
jne 0x448b00
mov rdi, qword [rax]
mov qword [rbp + 0x18], rdi
mov rdi, qword [rbp + 0x18]
test rdi, rdi
je 0x448390
cmp byte [rdi], 0
lea rcx, [0x00496560]
cmovne rcx, rdi
mov qword [rbp + 0x18], rcx
mov rdi, qword [rbp + 0x108]
xor ebx, 1
mov byte [rbp + 0x13], bl
cmp byte [rdi + 0xc], 0
jns 0x44800f
test bl, bl
jne 0x448b48
xor eax, eax
mov qword [rbp - 0x10], 0
mov qword [rbp], 0
mov word [rbp + 0x10], ax
mov rax, qword [rsi]
lea r14, [rbp + 0x40]
mov rcx, r14
mov rax, qword [rax]
movdqu xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x40], xmm0
call sym.isnanq
test eax, eax
je 0x448300
mov rdi, qword [rbp + 0x28]
mov rax, qword [rbp + 0x108]
lea rbx, [0x0049656e]
lea r14, [0x00496576]
shr rdi, 0x3f
movzx ecx, word [rax + 8]
mov dword [rbp + 0x54], edi
call qword [sym.imp.msvcrt.dll_isupper]
lea rdx, [0x00496562]
test eax, eax
lea rax, [0x0049656a]
cmove rbx, rdx
cmove r14, rax
mov rax, qword [rbp + 0x108]
movzx ecx, byte [rax + 0xc]
mov esi, dword [rax + 4]
mov eax, ecx
shr al, 5
xor eax, 1
and eax, 1
test edi, edi
je 0x4481f0
lea edi, [rsi - 4]
test edi, edi
setg r13b
jle 0x4482b8
test al, al
je 0x4482b8
movsxd rsi, edi
mov edx, dword [rbp + 0x14]
mov r8d, 0x20
mov rcx, r12
mov r9, rsi
call sym.__quadmath_do_pad
cmp rsi, rax
jne 0x448299
mov eax, dword [rbp + 0x54]
mov edx, dword [r12 + 0x20]
test eax, eax
jne 0x44a2fc
mov rax, qword [rbp + 0x108]
mov esi, edi
mov r13d, 1
movzx ecx, byte [rax + 0xc]
test cl, 0x40
je 0x44821a
test edx, edx
jne 0x4497f8
cmp qword [r12 + 0x10], 0
je 0x44813d
mov rax, qword [r12 + 8]
lea rdx, [rax + 1]
mov qword [r12 + 8], rdx
mov byte [rax], 0x2b
mov edx, dword [r12 + 0x20]
sub qword [r12 + 0x10], 1
add qword [r12 + 0x18], 1
mov r10d, dword [rbp + 0x14]
add edi, 1
test r10d, r10d
je 0x448230
lea r14, [rbx + 6]
add rbx, 2
movzx ecx, word [rbx - 2]
test edx, edx
jne 0x44819d
cmp qword [r12 + 0x10], 0
je 0x448181
mov rax, qword [r12 + 8]
lea rdx, [rax + 1]
mov qword [r12 + 8], rdx
mov byte [rax], cl
sub qword [r12 + 0x10], 1
add qword [r12 + 0x18], 1
cmp rbx, r14
je 0x4481ab
mov edx, dword [r12 + 0x20]
add rbx, 2
movzx ecx, word [rbx - 2]
test edx, edx
je 0x448163
mov rdx, qword [r12]
call sym.fputwc
cmp rbx, r14
jne 0x44818c
add edi, 3
mov rax, qword [rbp + 0x108]
test byte [rax + 0xc], 0x20
je 0x44829e
test r13b, r13b
je 0x44829e
movsxd rbx, esi
mov edx, dword [rbp + 0x14]
mov r8d, 0x20
mov rcx, r12
mov r9, rbx
call sym.__quadmath_do_pad
cmp rbx, rax
jne 0x448299
add edi, esi
jmp 0x44829e
test cl, 0x50
jne 0x448b30
sub esi, 3
test esi, esi
setg r13b
jle 0x44820c
test al, al
jne 0x449d9c
mov edx, dword [r12 + 0x20]
test cl, 0x40
jne 0x448111
and ecx, 0x10
jne 0x449060
mov r10d, dword [rbp + 0x14]
test r10d, r10d
jne 0x448153
mov rbx, r14
sub edi, r14d
lea r15, [r14 + 2]
movsx cx, byte [rbx]
lea r14d, [rdi + 1]
test edx, edx
jne 0x448288
cmp qword [r12 + 0x10], 0
je 0x448264
mov rax, qword [r12 + 8]
lea rdx, [rax + 1]
mov qword [r12 + 8], rdx
mov byte [rax], cl
sub qword [r12 + 0x10], 1
add qword [r12 + 0x18], 1
lea edi, [r14 + rbx]
cmp rbx, r15
je 0x4481ae
mov edx, dword [r12 + 0x20]
add rbx, 1
movsx cx, byte [rbx]
test edx, edx
je 0x448246
mov rdx, qword [r12]
movzx ecx, cx
call sym.putc
cmp eax, 0xffffffff
jne 0x44826a
mov edi, 0xffffffff
mov eax, edi
lea rsp, [rbp + 0xb8]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov edx, dword [r12 + 0x20]
xor r15d, r15d
test edx, edx
jne 0x448e60
cmp qword [r12 + 0x10], 0
je 0x4482ec
mov rax, qword [r12 + 8]
lea rdx, [rax + 1]
mov qword [r12 + 8], rdx
mov byte [rax], 0x2d
mov edx, dword [r12 + 0x20]
sub qword [r12 + 0x10], 1
add qword [r12 + 0x18], 1
mov esi, edi
lea edi, [r15 + 1]
jmp 0x448223
movdqu xmm2, xmmword [rbp + 0x20]
mov rcx, r14
movups xmmword [rbp + 0x40], xmm2
call sym.isinfq
mov dword [rbp - 0x18], eax
test eax, eax
je 0x4483a0
movdqu xmm4, xmmword [rbp + 0x20]
lea rdx, [rbp + 0x30]
mov rcx, r14
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x38], 0
lea rbx, [0x0049657a]
lea r14, [0x00496582]
movups xmmword [rbp + 0x40], xmm4
call sym.__letf2
shr rax, 0x3f
mov dword [rbp + 0x54], eax
mov edi, eax
mov rax, qword [rbp + 0x108]
movzx ecx, word [rax + 8]
call qword [sym.imp.msvcrt.dll_isupper]
lea rdx, [0x00496586]
test eax, eax
lea rax, [0x0049658e]
cmove rbx, rdx
cmove r14, rax
jmp 0x44808d
lea rdi, [0x00496560]
mov qword [rbp + 0x18], rdi
jmp 0x447ff4
mov qword [rsp + 0x20], r14
movdqu xmm3, xmmword [rbp + 0x20]
lea r13, [rbp + 0x60]
lea r9, [rbp + 0x54]
lea r8, [rbp + 0x90]
mov edx, 4
mov rcx, r13
movups xmmword [rbp + 0x40], xmm3
call sym.__quadmath_mpn_extract_flt128
mov r9d, dword [rbp + 0x90]
mov dword [rbp + 0x88], eax
mov r8d, eax
mov ebx, eax
mov edx, r9d
shl ebx, 5
sar edx, 0x1f
sub ebx, 0x70
mov eax, edx
xor eax, r9d
sub eax, edx
add eax, 0x1f
sar eax, 5
lea edx, [rax*4 + 0x20]
add rdx, 0xf
shr rdx, 4
shl rdx, 4
mov rax, rdx
call fcn.00436950
sub rsp, rax
mov rax, rdx
lea rcx, [rsp + 0x30]
mov qword [rbp + 0x80], rcx
call fcn.00436950
sub rsp, rax
lea rax, [rsp + 0x30]
mov qword [rbp + 0x78], rax
mov rax, rdx
call fcn.00436950
mov dword [rbp + 0x8c], 0
sub rsp, rax
lea rax, [rsp + 0x30]
mov qword [rbp + 0x70], rax
cmp r9d, 2
jg 0x448b80
test r9d, r9d
js 0x4491e0
mov rdx, r13
add r9d, ebx
call sym.__quadmath_mpn_lshift
mov r8d, eax
movsxd rax, dword [rbp + 0x88]
lea edx, [rax + 1]
mov dword [rbp + 0x88], edx
mov rdx, qword [rbp + 0x80]
mov dword [rdx + rax*4], r8d
mov dword [rbp + 0x90], 0
mov rax, qword [rbp + 0x108]
mov eax, dword [rax + 4]
mov dword [rbp - 0x30], eax
mov rax, qword [rbp + 0x108]
movzx ebx, word [rax + 8]
mov ecx, ebx
call qword [sym.imp.msvcrt.dll_tolower]
mov rsi, qword [rbp + 0x108]
mov dword [rbp - 0x3c], eax
mov esi, dword [rsi]
mov dword [rbp + 8], esi
cmp al, 0x65
je 0x449098
cmp byte [rbp - 0x3c], 0x66
je 0x449150
mov esi, dword [rbp + 8]
mov dword [rbp - 0x34], 6
test esi, esi
js 0x4484f1
mov eax, 1
cmovne eax, esi
mov dword [rbp - 0x34], eax
mov r15d, dword [rbp + 0x98]
mov eax, dword [rbp + 0x90]
test r15d, r15d
je 0x4491b0
cmp eax, 4
jle 0x44992e
mov eax, dword [rbp - 0x34]
sub ebx, 2
mov dword [rbp - 0x14], 1
mov dword [rbp + 0x94], ebx
sub eax, 1
mov dword [rbp + 0x20], eax
movsxd r11, eax
add r11, 8
mov rax, qword [rbp + 0x108]
xor r13d, r13d
test byte [rax + 0xc], 8
mov eax, dword [rbp + 0x20]
cmove eax, r13d
mov dword [rbp + 8], eax
cmp qword [rbp], 0
je 0x449128
mov rdx, qword [rbp]
movzx eax, byte [rdx]
mov byte [rbp - 8], al
sub eax, 1
cmp al, 0x7d
ja 0x449138
mov ecx, dword [rbp - 0x14]
call fcn.00447ef0
mov dword [rbp - 0x2c], eax
add eax, 1
cdqe
add r11, rax
movabs rax, 0x7ffffffffffffffc
cmp r11, rax
ja 0x449710
movsxd rax, dword [rbp + 0x20]
cmp rax, r11
ja 0x449710
lea rax, [r11 + 2]
mov qword [rbp - 0x48], rax
add rax, rax
mov qword [rbp - 0x20], rax
cmp rax, 0xfff
ja 0x449e4d
mov rax, qword [rbp - 0x20]
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.00436950
sub rsp, rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x28]
mov r14d, dword [rbp + 0x98]
lea r15, [rax + 4]
test r14d, r14d
je 0x4485f4
cmp dword [rbp + 0x94], 0x66
je 0x449c03
mov eax, dword [rbp - 0x14]
test eax, eax
jle 0x449e7c
lea esi, [rax - 1]
mov rax, qword [rbp - 0x28]
mov r14, r15
lea rdi, [rbp + 0x70]
lea rbx, [rax + rsi*2 + 6]
nop word [rax + rax]
mov r10, rdi
add r14, 2
call fcn.00447d90
mov word [r14 - 2], ax
cmp r14, rbx
jne 0x448618
lea rax, [r15 + rsi*2 + 2]
mov esi, dword [rbp - 0x14]
mov dword [rbp - 0x38], esi
mov rsi, qword [rbp + 0x108]
test byte [rsi + 0xc], 8
jne 0x448653
mov r13d, dword [rbp + 8]
test r13d, r13d
jle 0x449c29
mov r11d, 0x2e
lea rbx, [rax + 2]
mov r13d, 1
mov word [rax], r11w
mov dword [rbp - 8], 0
mov esi, dword [rbp + 8]
xor r14d, r14d
cmp esi, r14d
jg 0x44868c
cmp dword [rbp + 0x20], r14d
jle 0x4486c0
cmp dword [rbp + 0x88], 1
jle 0x448e90
mov r10, rdi
add r14d, 1
add rbx, 2
call fcn.00447d90
mov word [rbx - 2], ax
test r13d, r13d
jne 0x4486af
cmp ax, 0x30
je 0x448eb0
mov r13d, 1
cmp esi, r14d
jg 0x44868c
cmp dword [rbp + 0x20], r14d
jg 0x44867f
movzx esi, word [rbx - 2]
cmp si, 0x2e
jne 0x4486ce
movzx esi, word [rbx - 4]
mov r10, rdi
call fcn.00447d90
mov r13d, eax
cmp ax, 0x30
setne al
cmp r13w, 0x35
setne dil
and dil, al
jne 0x448711
movsxd rax, dword [rbp + 0x88]
cmp eax, 1
je 0x449c60
mov ecx, dword [rbp + 0x8c]
test ecx, ecx
je 0x449848
mov edi, 1
call dbg.fegetround
mov edx, dword [rbp + 0x54]
cmp r13w, 0x34
mov r11d, dword [rbp + 0x94]
seta r8b
mov dword [rbp + 0x20], edx
mov rdx, qword [rbp + 0x108]
movzx r10d, byte [rdx + 0xc]
cmp eax, 0x400
je 0x449568
cmp eax, 0x800
je 0x4494c0
test eax, eax
je 0x4495d8
mov esi, dword [rbp - 8]
add esi, dword [rbp + 8]
cmp r14d, esi
jg 0x448775
jmp 0x44877c
sub r14d, 1
sub rbx, 2
cmp esi, r14d
jge 0x44877c
cmp word [rbx - 2], 0x30
je 0x448768
test r14d, r14d
jne 0x448798
test r10b, 8
jne 0x448798
cmp word [rbx - 2], 0x2e
je 0x44994a
nop word [rax + rax]
mov rdx, qword [rbp]
test rdx, rdx
je 0x4488ad
mov ecx, dword [rbp - 0x38]
mov eax, dword [rbp - 0x14]
mov esi, ecx
cmp ecx, eax
je 0x4487e2
movzx eax, byte [rdx]
mov dword [rbp - 0x2c], 0
mov byte [rbp + 8], al
sub eax, 1
cmp al, 0x7d
ja 0x4488ad
mov byte [rbp - 8], r10b
mov dword [rbp + 8], r11d
call fcn.00447ef0
movzx r10d, byte [rbp - 8]
mov r11d, dword [rbp + 8]
mov dword [rbp - 0x2c], eax
mov eax, dword [rbp - 0x2c]
test eax, eax
je 0x4488ad
movsxd r13, dword [rbp - 0x38]
movsxd rdi, eax
mov r8, rbx
mov byte [rbp - 8], r10b
mov dword [rbp + 8], r11d
lea rdx, [r15 + r13*2]
add r13, rdi
add r13, r13
sub r8, rdx
lea rcx, [r15 + r13]
call sym.memmove
lea r9, [r15 + r13 - 2]
mov r13, qword [rbp]
movzx r14d, word [rbp + 0x10]
mov r11d, dword [rbp + 8]
movzx r10d, byte [rbp - 8]
movsx r8d, byte [r13]
nop dword [rax]
mov eax, esi
mov rdx, r9
sub esi, r8d
lea ecx, [rax - 1]
sub rdx, 2
mov rax, rcx
movzx ecx, word [r15 + rcx*2]
mov word [rdx + 2], cx
cmp eax, esi
jne 0x448840
lea eax, [r8 - 1]
mov rdx, rax
neg rax
not rdx
lea rdx, [r9 + rdx*2]
lea r9, [r9 + rax*2 - 4]
mov word [rdx], r14w
movsx r8d, byte [r13 + 1]
cmp r8b, 0x7e
ja 0x448890
test r8b, r8b
je 0x448ed0
add r13, 1
cmp r8d, esi
jb 0x448838
nop
lea eax, [rsi - 1]
sub r9, 2
mov rsi, rax
movzx eax, word [r15 + rax*2]
mov word [r9 + 2], ax
cmp r15, r9
jb 0x448890
lea rbx, [rbx + rdi*2]
cmp r11d, 0x66
je 0x448941
mov esi, dword [rbp + 0x98]
mov eax, dword [rbp + 0x90]
test esi, esi
jne 0x449fd4
mov word [rbx], r11w
mov edx, 0x2b
mov word [rbx + 2], dx
lea r8, [rbx + 4]
cmp eax, 9
jle 0x4490dd
mov ecx, 0xa
nop word [rax + rax]
lea ecx, [rcx + rcx*4]
add ecx, ecx
cmp ecx, eax
jle 0x4488f0
nop dword [rax]
movsxd rcx, ecx
add r8, 2
mov r9, rcx
imul rcx, rcx, 0x66666667
mov edx, r9d
sar edx, 0x1f
sar rcx, 0x22
sub ecx, edx
cdq
idiv ecx
add eax, 0x30
mov word [r8 - 2], ax
mov eax, edx
cmp r9d, 0x6d
jg 0x448900
mov dword [rbp + 0x90], edx
add eax, 0x30
lea rbx, [r8 + 2]
mov word [r8], ax
mov r11d, dword [rbp + 0x20]
test r11d, r11d
jne 0x448950
test r10b, 0x50
je 0x448954
sub dword [rbp - 0x30], 1
mov rsi, rbx
mov r13d, dword [rbp - 0x30]
sub rsi, r15
mov rax, rsi
sar rax, 1
sub r13d, eax
and r10d, 0x20
jne 0x448990
mov rax, qword [rbp + 0x108]
movzx r8d, word [rax + 0x12]
test r13d, r13d
jle 0x448990
cmp r8w, 0x30
jne 0x4498b0
nop dword [rax]
mov r10d, dword [rbp + 0x54]
test r10d, r10d
jne 0x4490f0
mov rax, qword [rbp + 0x108]
movzx eax, byte [rax + 0xc]
test al, 0x40
jne 0x449778
test al, 0x10
jne 0x449d5b
test al, 0x20
jne 0x4489d3
mov rax, qword [rbp + 0x108]
cmp word [rax + 0x12], 0x30
jne 0x4489d3
test r13d, r13d
jg 0x449f74
cmp byte [rbp + 0x13], 0
je 0x448f80
mov rcx, qword [rbp + 0x18]
call sym.strlen
mov rcx, qword [rbp - 0x10]
mov rsi, rax
test rcx, rcx
je 0x449da3
call sym.strlen
movsxd rcx, dword [rbp - 0x2c]
mov rdi, rax
mov rax, rcx
imul rax, rdi
mov rcx, qword [rbp - 0x48]
add rcx, rsi
add rcx, rax
cmp qword [rbp - 0x20], 0xfff
ja 0x449f41
lea rax, [rcx + 0xf]
and rax, 0xfffffffffffffff0
call fcn.00436950
sub rsp, rax
lea r14, [rsp + 0x30]
cmp rbx, r15
jbe 0x44a0bc
mov dword [rbp + 0x20], r13d
mov rcx, r14
mov r13, r15
mov r15, qword [rbp + 0x18]
mov qword [rbp + 0x100], r12
mov r12, rbx
movzx ebx, word [rbp + 0x10]
jmp 0x448a78
cmp bx, ax
je 0x448f40
mov byte [rcx], al
add rcx, 1
add r13, 2
cmp r12, r13
jbe 0x448a9d
movzx eax, word [r13]
cmp ax, 0x2e
jne 0x448a60
mov r8, rsi
mov rdx, r15
add r13, 2
call sym.memcpy
mov rcx, rax
add rcx, rsi
cmp r12, r13
ja 0x448a78
mov rbx, rcx
mov r13d, dword [rbp + 0x20]
mov r12, qword [rbp + 0x100]
sub rbx, r14
mov rdi, rbx
cmp rbx, 0x14
jle 0x4499f0
mov r8d, dword [r12 + 0x20]
mov r15, r14
test r8d, r8d
jne 0x448ff0
cmp qword [r12 + 0x10], rdi
mov rbx, rdi
mov rcx, qword [r12 + 8]
mov rdx, r15
cmovbe rbx, qword [r12 + 0x10]
mov r8, rbx
call sym.memcpy
add qword [r12 + 8], rbx
sub qword [r12 + 0x10], rbx
add qword [r12 + 0x18], rdi
jmp 0x44900c
mov rdi, qword [rbp + 0x108]
xor ebx, 1
mov byte [rbp + 0x13], bl
cmp byte [rdi + 0xc], 0
jns 0x44800f
test bl, bl
je 0x44800f
mov rdi, qword [rax + 0x38]
mov qword [rbp], rdi
jmp 0x448b54
sub esi, 4
test esi, esi
setg r13b
jle 0x44820c
jmp 0x448204
test dl, dl
jne 0x448b1f
mov rdi, qword [rax + 0x10]
mov qword [rbp], rdi
mov rdi, qword [rbp]
test rdi, rdi
je 0x4494a8
movzx edi, byte [rdi]
lea ecx, [rdi - 1]
mov byte [rbp + 0x20], dil
cmp cl, 0x7d
jbe 0x449730
mov byte [rbp + 0x13], 1
jmp 0x44800f
lea r10d, [r9 + rbx]
test r10d, r10d
lea r11d, [r10 + 0x1f]
cmovns r11d, r10d
sar r11d, 5
movsxd rdx, r11d
test r10b, 0x1f
jne 0x449980
mov eax, r8d
sub eax, 1
js 0x448bc8
movsxd rbx, r11d
cdqe
lea rcx, [rcx + rbx*4]
nop dword [rax]
mov ebx, dword [r13 + rax*4]
mov dword [rcx + rax*4], ebx
sub rax, 1
test eax, eax
jns 0x448bb8
add r8d, r11d
mov dword [rbp + 0x88], r8d
xor r8d, r8d
mov rcx, qword [rbp + 0x80]
xor eax, eax
cmp r10d, 0x1f
jle 0x448bf7
nop dword [rax]
mov dword [rcx + rax*4], 0
add rax, 1
cmp edx, eax
jg 0x448be8
mov rsi, qword [0x00499fc0]
mov rax, qword [0x00499fd0]
xor r15d, r15d
xor r13d, r13d
mov r14d, 0xc
mov qword [rbp + 0x20], rax
lea rbx, [rsi + 0x138]
jmp 0x448c41
je 0x448f60
mov r8d, dword [rbp + 0x8c]
sub r14d, 1
cmp rbx, rsi
je 0x448d28
mov r9d, dword [rbp + 0x90]
mov eax, dword [rbx - 0xc]
sub rbx, 0x18
add eax, r13d
sub eax, 1
cmp eax, r9d
jg 0x448c2d
mov rcx, qword [rbp + 0x78]
test r8d, r8d
je 0x448ee0
mov eax, dword [rbx + 8]
mov rdx, qword [rbx]
xor edi, edi
sub eax, 2
mov dword [rsp + 0x20], eax
mov rax, qword [0x00499fd0]
lea r9, [rax + rdx*4 + 8]
mov rdx, qword [rbp + 0x70]
call sym.__quadmath_mpn_mul
mov r8d, eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbx + 8]
test r8d, r8d
setne dil
lea edi, [rax + rdi - 3]
cmp edi, dword [rbp + 0x88]
jge 0x448c20
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x70]
movsxd r8, edi
mov dword [rbp + 0x8c], edi
shl r8, 2
call sym.memcpy
movsxd rdx, dword [rbp + 0x8c]
mov rax, qword [rbp + 0x70]
mov eax, dword [rax + rdx*4 - 4]
mov r8, rdx
cmp eax, 0xffff
ja 0x448f20
mov edx, 0x20
cmp eax, 0xff
jbe 0x448cf2
shr eax, 8
mov edx, 0x18
mov rdi, qword [0x00499e90]
lea r13d, [r8 - 2]
mov ecx, r14d
sub r14d, 1
shl r13d, 5
movzx eax, byte [rdi + rax]
sub edx, eax
mov eax, 1
sub r13d, edx
shl eax, cl
sub r13d, 1
or r15d, eax
cmp rbx, rsi
jne 0x448c3a
mov dword [rbp + 0x90], r15d
test r8d, r8d
jle 0x448497
mov rcx, qword [rbp + 0x70]
mov r11d, dword [rcx]
test r11d, r11d
jne 0x44a1c4
mov r10, qword [rbp + 0x80]
mov rdx, rcx
xor ebx, ebx
xor eax, eax
jmp 0x448d7c
mov r9d, dword [rdx + 4]
lea edi, [rax + 1]
add rdx, 4
add rax, 1
add rbx, 4
test r9d, r9d
jne 0x449c8b
mov r9d, dword [r10 + rbx]
mov edi, eax
test r9d, r9d
je 0x448d60
movsxd r9, r8d
mov r10d, dword [rcx + r9*4 - 4]
cmp r10d, 0xffff
jbe 0x449826
cmp r10d, 0xffffff
jbe 0x449e8f
shr r10d, 0x18
mov r9d, 8
mov rsi, qword [0x00499e90]
movzx r10d, byte [rsi + r10]
sub r9d, r10d
mov r14d, r9d
jne 0x449a8e
test edi, edi
je 0x448497
sub r8d, edi
test r8d, r8d
jle 0x448e08
lea r9d, [r8 - 1]
lea rdx, [rcx + rax*4]
add r9, rax
lea r10, [rcx + r9*4 + 4]
mov r9, rax
neg r9
shl r9, 2
nop dword [rax]
mov ecx, dword [rdx]
add rdx, 4
mov dword [rdx + r9 - 4], ecx
cmp r10, rdx
jne 0x448df8
mov r9d, dword [rbp + 0x88]
mov dword [rbp + 0x8c], r8d
sub r9d, edi
test r9d, r9d
jle 0x448e4f
mov r8, qword [rbp + 0x80]
lea ecx, [r9 - 1]
add rcx, rax
lea rdx, [r8 + rax*4]
neg rax
lea r8, [r8 + rcx*4 + 4]
shl rax, 2
nop dword [rax]
mov ecx, dword [rdx]
add rdx, 4
mov dword [rdx + rax - 4], ecx
cmp r8, rdx
jne 0x448e40
mov dword [rbp + 0x88], r9d
jmp 0x448497
mov eax, dword [rbp + 0x14]
mov rdx, qword [r12]
mov ecx, 0x2d
test eax, eax
jne 0x449878
call sym.putc
cmp eax, 0xffffffff
je 0x448299
mov edx, dword [r12 + 0x20]
jmp 0x4482f2
mov rax, qword [rbp + 0x80]
mov r10d, dword [rax]
test r10d, r10d
jne 0x44868c
jmp 0x4486c0
mov eax, dword [rbp + 8]
add dword [rbp + 0x20], 1
test eax, eax
jle 0x448674
add dword [rbp - 8], 1
mov esi, dword [rbp - 8]
add esi, eax
jmp 0x448674
movsx r8d, byte [r13]
jmp 0x448889
mov eax, dword [rbx + 8]
mov rdx, qword [rbp + 0x20]
add rcx, 8
lea edi, [rax + 2]
mov rax, qword [rbx]
movsxd r8, edi
lea rdx, [rdx + rax*4]
shl r8, 2
call sym.memcpy
mov rax, qword [rbp + 0x78]
mov qword [rax], 0
add dword [rbp + 0x90], 0x40
jmp 0x448c9b
cmp eax, 0xffffff
jbe 0x4490d0
shr eax, 0x18
mov edx, 8
jmp 0x448cf2
mov rdx, qword [rbp - 0x10]
mov r8, rdi
call sym.memcpy
mov rcx, rax
add rcx, rdi
jmp 0x448a6f
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x80]
mov r8d, edi
call sym.__quadmath_mpn_cmp
test eax, eax
jns 0x448ca7
jmp 0x448c26
sar rsi, 1
mov rdi, rsi
cmp rbx, r15
je 0x449600
mov r9d, dword [r12 + 0x20]
test r9d, r9d
je 0x44a186
xor edi, edi
test rsi, rsi
jne 0x448fbd
jmp 0x449e1e
add rdi, 1
cmp rsi, rdi
je 0x449e1e
movzx ecx, word [r15 + rdi*2]
mov rdx, qword [r12]
call sym.fputwc
cmp ax, 0xffff
jne 0x448fb0
cmp qword [rbp - 0x20], 0xfff
jbe 0x448299
mov rcx, qword [rbp - 0x28]
call sym.free
jmp 0x448299
mov r9, qword [r12]
mov r8, rbx
mov edx, 1
mov rcx, r14
call sym.fwrite
mov rdi, rax
cmp rbx, rax
jne 0x448fd1
add edi, dword [rbp - 0x18]
cmp qword [rbp - 0x20], 0xfff
ja 0x449f5e
mov rax, qword [rbp + 0x108]
test byte [rax + 0xc], 0x20
je 0x44829e
test r13d, r13d
jle 0x44829e
movsxd rbx, r13d
movzx r8d, word [rax + 0x12]
mov edx, dword [rbp + 0x14]
mov rcx, r12
mov r9, rbx
call sym.__quadmath_do_pad
cmp rbx, rax
jne 0x448fd1
add edi, r13d
jmp 0x44829e
test edx, edx
jne 0x44990e
cmp qword [r12 + 0x10], 0
je 0x44813d
mov rax, qword [r12 + 8]
lea rdx, [rax + 1]
mov qword [r12 + 8], rdx
mov byte [rax], 0x20
mov edx, dword [r12 + 0x20]
sub qword [r12 + 0x10], 1
jmp 0x44813d
mov dword [rbp + 0x94], ebx
test esi, esi
js 0x449b8c
movsxd r11, esi
add r11, 8
mov eax, dword [rbp + 8]
mov dword [rbp - 0x34], 0x7fffffff
mov r13d, 1
mov dword [rbp - 0x14], 1
mov dword [rbp + 0x20], eax
jmp 0x448548
shr eax, 0x10
mov edx, 0x10
jmp 0x448cf2
mov ecx, 0x30
lea r8, [rbx + 6]
mov word [rbx + 4], cx
jmp 0x448936
mov r9d, dword [r12 + 0x20]
test r9d, r9d
jne 0x449e2d
cmp qword [r12 + 0x10], 0
jne 0x4498f2
add qword [r12 + 0x18], 1
mov rax, qword [rbp + 0x108]
add dword [rbp - 0x18], 1
movzx eax, byte [rax + 0xc]
jmp 0x4489b8
mov dword [rbp - 0x2c], 0
jmp 0x44858e
mov dword [rbp - 0x2c], 0
mov eax, 1
jmp 0x448578
mov dword [rbp + 0x94], 0x66
mov eax, dword [rbp + 8]
movsxd r11, eax
test eax, eax
js 0x4498e0
mov eax, dword [rbp + 0x98]
mov dword [rbp - 0x2c], eax
test eax, eax
jne 0x4498a7
movsxd rax, dword [rbp + 0x90]
cmp qword [rbp], 0
mov dword [rbp - 0x34], 0x7fffffff
mov r13d, 1
lea esi, [rax + 1]
lea r11, [r11 + rax + 2]
mov eax, dword [rbp + 8]
mov dword [rbp - 0x14], esi
mov dword [rbp + 0x20], eax
jne 0x448553
jmp 0x44857b
cmp dword [rbp - 0x34], eax
jle 0x448510
mov dword [rbp + 0x94], 0x66
mov esi, dword [rbp - 0x34]
add eax, 1
mov dword [rbp - 0x14], eax
sub esi, eax
mov dword [rbp + 0x20], esi
movsxd r11, dword [rbp - 0x34]
add r11, 5
jmp 0x448530
mov rdx, r13
mov r9d, ebx
mov r13d, 0xc
call sym.__quadmath_mpn_lshift
mov r11d, dword [rbp + 0x90]
mov rsi, qword [0x00499fc0]
mov dword [rbp - 0x14], 0
mov r8d, eax
movsxd rax, dword [rbp + 0x88]
mov qword [rbp + 0x100], r12
neg r11d
lea r15, [rsi + 0x138]
lea edx, [rax + 1]
mov dword [rbp + 0x88], edx
mov rdx, qword [rbp + 0x80]
mov dword [rdx + rax*4], r8d
mov rax, qword [0x00499e90]
mov r8d, r11d
mov dword [rbp + 0x98], 1
mov dword [rbp + 0x90], r11d
mov qword [rbp - 0x20], rax
jmp 0x449347
mov r10, qword [r15]
mov r9, qword [0x00499fd0]
mov dword [rsp + 0x20], r8d
mov r8d, eax
lea r10, [r9 + r10*4 + 8]
mov r9, rdx
mov rdx, r10
call sym.__quadmath_mpn_mul
mov ecx, dword [rbp + 0x88]
mov edx, dword [r15 + 8]
xor edi, edi
add edx, ecx
test eax, eax
setne dil
lea edi, [rdi + rdx - 3]
mov rdx, qword [rbp + 0x78]
movsxd rax, edi
mov r14d, edi
lea r11, [rax*4]
sub r14d, ecx
mov qword [rbp - 8], rax
mov eax, dword [rbp + 0x90]
lea r10, [r11 - 4]
mov ecx, r14d
lea r9, [rdx + r10]
shl ecx, 5
lea r14d, [rax + 3]
mov r8d, eax
mov ebx, dword [r9]
add ecx, 0x1f
mov dword [rbp + 0x20], ecx
cmp ebx, 0xffff
ja 0x449390
cmp ebx, 0xff
jbe 0x449660
mov r10d, 0x18
mov ecx, 8
mov r12, qword [0x00499e90]
shr ebx, cl
movzx ecx, byte [r12 + rbx]
mov qword [rbp + 8], r12
mov ebx, r10d
mov r12d, dword [rbp + 0x20]
sub ebx, ecx
sub r12d, ebx
cmp r12d, r14d
je 0x4497c0
lea ecx, [rax + 2]
cmp r12d, ecx
jle 0x4493c0
lea rax, [rsi + 0x18]
sub r13d, 1
cmp r15, rax
je 0x449c93
test r8d, r8d
jle 0x449e70
sub r15, 0x18
cmp dword [r15 + 0x10], r8d
jg 0x44932d
mov eax, dword [r15 + 8]
mov r8d, dword [rbp + 0x88]
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x80]
sub eax, 2
cmp eax, r8d
jg 0x449260
mov r9, qword [r15]
mov dword [rsp + 0x20], eax
mov rax, qword [0x00499fd0]
lea r9, [rax + r9*4 + 8]
call sym.__quadmath_mpn_mul
jmp 0x449282
cmp ebx, 0x1000000
sbb r10d, r10d
and r10d, 8
add r10d, 8
cmp ebx, 0x1000000
sbb ecx, ecx
and ecx, 0xfffffff8
add ecx, 0x18
jmp 0x4492fa
mov rdx, qword [rbp + 0x78]
nop dword [rax + rax]
sub eax, r12d
mov ecx, r13d
mov r9d, dword [rdx]
mov r8d, eax
mov dword [rbp + 0x90], eax
mov eax, 1
shl eax, cl
or dword [rbp - 0x14], eax
mov eax, ebx
sub eax, r8d
test r8d, r8d
cmovs ebx, eax
test r9d, r9d
jne 0x44a128
lea rcx, [rdx + 4]
mov eax, 1
nop dword [rax]
mov r9d, dword [rcx]
mov r10d, eax
mov r11, rcx
mov r14, rax
lea r12, [rax*4]
add rcx, 4
add rax, 1
test r9d, r9d
je 0x449400
cmp ebx, 0x1f
je 0x44a078
mov eax, r9d
neg eax
and r9d, eax
cmp r9d, 0xffff
jbe 0x449887
cmp r9d, 0xffffff
jbe 0x449faf
shr r9d, 0x18
mov eax, 0x17
mov rcx, qword [rbp + 8]
movzx ecx, byte [rcx + r9]
mov r9d, 0x1f
sub r9d, ebx
add eax, ecx
mov rcx, qword [rbp + 0x80]
test r10d, r10d
jne 0x449dac
cmp eax, r9d
jl 0x44a0c4
sub edi, r10d
mov rdx, r11
mov r8d, edi
call sym.__quadmath_mpn_rshift
mov dword [rbp + 0x88], edi
mov r8d, dword [rbp + 0x90]
jmp 0x44932d
xor eax, eax
mov qword [rbp - 0x10], 0
mov byte [rbp + 0x13], 1
mov word [rbp + 0x10], ax
jmp 0x448025
mov esi, dword [rbp + 0x20]
test esi, esi
jne 0x448756
test dil, dil
jne 0x4494d9
test r8b, r8b
je 0x448756
movzx ecx, word [rbx - 2]
lea rax, [rbx - 2]
test r14d, r14d
je 0x449580
xor r8d, r8d
cmp cx, 0x2e
jne 0x449520
jmp 0x449ddb
mov r9d, 0x30
sub rax, 2
add r8d, 1
mov word [rax + 2], r9w
movzx ecx, word [rax]
cmp cx, 0x2e
je 0x449ddb
cmp cx, 0x39
je 0x449500
cmp dword [rbp + 8], r8d
jne 0x44953f
mov esi, dword [rbp - 8]
test esi, esi
setg r8b
cmp r8b, 1
adc esi, 0xffffffff
mov dword [rbp - 8], esi
add ecx, 1
mov word [rax], cx
mov esi, dword [rbp + 8]
add esi, dword [rbp - 8]
cmp cx, 0x2e
je 0x449e02
cmp r14d, esi
jg 0x448775
jmp 0x448798
mov r13d, dword [rbp + 0x20]
test r13d, r13d
je 0x448756
jmp 0x4494cb
mov esi, dword [rbp - 8]
add esi, dword [rbp + 8]
lea r8, [rax - 2]
cmp cx, 0x2e
cmove rax, r8
cmp r15, rax
jbe 0x4495b6
jmp 0x449b9e
mov ecx, 0x30
sub rax, 2
mov word [rax + 2], cx
cmp r15, rax
ja 0x449b9e
movzx ecx, word [rax]
cmp cx, 0x39
je 0x4495a0
cmp r15, rax
ja 0x449b9e
add ecx, 1
mov word [rax], cx
jmp 0x44875c
cmp r13w, 0x34
jbe 0x448756
and esi, 1
jne 0x4494d9
test dil, dil
je 0x448756
jmp 0x4494d9
lea rdi, [rsi - 1]
test rsi, rsi
jne 0x44963d
jmp 0x44a246
cmp qword [r12 + 0x10], 0
je 0x44962e
mov rax, qword [r12 + 8]
lea rdx, [rax + 1]
mov qword [r12 + 8], rdx
mov byte [rax], cl
sub qword [r12 + 0x10], 1
add qword [r12 + 0x18], 1
cmp rbx, r15
je 0x449e0f
mov r11d, dword [r12 + 0x20]
add r15, 2
movzx ecx, word [r15 - 2]
test r11d, r11d
je 0x449610
mov rdx, qword [r12]
call sym.fputwc
jmp 0x449634
mov rcx, qword [rbp - 0x20]
movzx ebx, byte [rcx + rbx]
mov qword [rbp + 8], rcx
mov ecx, 0x20
mov r12d, ecx
sub r12d, ebx
mov ebx, r12d
mov r12d, dword [rbp + 0x20]
sub r12d, ebx
cmp r12d, r14d
jne 0x449321
cmp ebx, 0x1c
jle 0x4497c0
mov eax, 0xa0000000
sub ecx, ebx
mov r8d, 2
mov qword [rbp - 0x28], r10
mov qword [rbp + 0x58], rax
lea rax, [rbp + 0x58]
mov r9d, ecx
mov rdx, rax
mov rcx, rax
mov qword [rbp + 0x20], r11
call sym.__quadmath_mpn_lshift
mov eax, dword [rbp + 0x90]
mov r11, qword [rbp + 0x20]
mov r10, qword [rbp - 0x28]
lea edx, [rax + 2]
mov r8d, eax
cmp edx, r12d
jge 0x4493b4
lea edx, [rax + 3]
cmp edx, r14d
jne 0x44932d
mov rdx, qword [rbp + 0x78]
mov ecx, dword [rbp + 0x5c]
lea r9, [rdx + r10]
cmp dword [r9], ecx
jb 0x4497eb
je 0x44a025
mov r8d, eax
jmp 0x44932d
call qword [sym.imp.msvcrt.dll__errno]
mov edi, 0xffffffff
mov dword [rax], 0x22
jmp 0x44829e
test dl, dl
je 0x4498d3
mov rax, qword [rax + 0x30]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
test rax, rax
je 0x449fbd
cmp byte [rax], 1
mov byte [rbp + 0x13], 1
sbb edi, edi
not edi
and edi, 0xfffffffe
cmp byte [rax], 0
mov eax, 0
cmovne rax, qword [rbp]
mov word [rbp + 0x10], di
mov qword [rbp], rax
jmp 0x448025
mov edx, dword [r12 + 0x20]
test edx, edx
jne 0x449953
cmp qword [r12 + 0x10], 0
je 0x4497af
mov rax, qword [r12 + 8]
lea rdx, [rax + 1]
mov qword [r12 + 8], rdx
mov byte [rax], 0x2b
mov rax, qword [rbp + 0x108]
sub qword [r12 + 0x10], 1
movzx eax, byte [rax + 0xc]
add qword [r12 + 0x18], 1
add dword [rbp - 0x18], 1
jmp 0x4489b8
mov ecx, 0x1c
mov r8d, 0xa
mov dword [rbp + 0x58], 0
sub ecx, ebx
shl r8d, cl
mov dword [rbp + 0x5c], r8d
mov ecx, r8d
lea r8d, [rax + 2]
cmp r14d, r8d
jg 0x4496f2
mov r12d, r14d
jmp 0x4493c0
mov r15d, dword [rbp + 0x14]
mov rdx, qword [r12]
mov ecx, 0x2b
test r15d, r15d
jne 0x449924
call sym.putc
cmp eax, 0xffffffff
je 0x448299
mov edx, dword [r12 + 0x20]
jmp 0x448143
mov r9d, 0x20
cmp r10d, 0xff
jbe 0x448db3
shr r10d, 8
mov r9d, 0x18
jmp 0x448db3
mov r8, qword [rbp + 0x80]
test rax, rax
jne 0x44986a
jmp 0x448711
sub rax, 1
je 0x448711
mov edx, dword [r8 + rax*4 - 4]
test edx, edx
je 0x449860
jmp 0x44870c
call sym.fputwc
mov edx, dword [r12 + 0x20]
jmp 0x4482f2
mov eax, 0xffffffff
cmp r9d, 0xff
jbe 0x449455
shr r9d, 8
mov eax, 7
jmp 0x449455
add r11, 2
jmp 0x4490ad
movsxd rdi, r13d
mov edx, dword [rbp + 0x14]
mov rcx, r12
mov r9, rdi
call sym.__quadmath_do_pad
cmp rdi, rax
jne 0x448fd1
mov dword [rbp - 0x18], r13d
jmp 0x448990
mov rax, qword [rax + 8]
mov qword [rbp - 0x10], rax
jmp 0x449740
mov dword [rbp + 8], 6
mov r11d, 6
jmp 0x449168
mov rax, qword [r12 + 8]
lea rdx, [rax + 1]
mov qword [r12 + 8], rdx
mov byte [rax], 0x2d
sub qword [r12 + 0x10], 1
jmp 0x44910a
mov r11d, dword [rbp + 0x14]
mov rdx, qword [r12]
mov ecx, 0x20
test r11d, r11d
je 0x44980e
call sym.fputwc
jmp 0x44981c
mov eax, dword [rbp - 0x34]
mov dword [rbp - 0x14], 0
mov dword [rbp + 0x94], 0x66
mov dword [rbp + 0x20], eax
jmp 0x4491d1
sub rbx, 2
jmp 0x448798
mov eax, dword [rbp + 0x14]
mov rdx, qword [r12]
mov ecx, 0x2b
test eax, eax
je 0x44a005
call sym.fputwc
mov rax, qword [rbp + 0x108]
movzx eax, byte [rax + 0xc]
jmp 0x4497b5
mov eax, r10d
lea rcx, [rcx + rdx*4]
mov rdx, r13
sar eax, 0x1f
shr eax, 0x1b
lea r9d, [r10 + rax]
and r9d, 0x1f
sub r9d, eax
call sym.__quadmath_mpn_lshift
mov r9d, dword [rbp + 0x90]
mov ecx, dword [rbp + 0x88]
lea r10d, [r9 + rbx]
test r10d, r10d
lea edx, [r10 + 0x1f]
cmovns edx, r10d
sar edx, 5
add ecx, edx
mov dword [rbp + 0x88], ecx
test eax, eax
je 0x4499e4
lea r8d, [rcx + 1]
movsxd rcx, ecx
mov dword [rbp + 0x88], r8d
mov r8, qword [rbp + 0x80]
mov dword [r8 + rcx*4], eax
mov r8d, dword [rbp + 0x8c]
jmp 0x448bd5
lea rsi, [rbx - 1]
test rbx, rbx
je 0x44a2a9
mov edi, dword [rbp - 0x18]
mov rbx, r14
mov r15d, 1
jmp 0x449a4c
cmp qword [r12 + 0x10], 0
je 0x449a2e
mov rdx, qword [r12 + 8]
lea rcx, [rdx + 1]
mov qword [r12 + 8], rcx
mov byte [rdx], al
sub qword [r12 + 0x10], 1
add qword [r12 + 0x18], 1
mov rdx, r15
lea eax, [rdi + rbx]
sub rdx, rbx
sub eax, r14d
add rdx, r14
add rdx, rsi
je 0x449e26
mov r10d, dword [r12 + 0x20]
add rbx, 1
movsx ax, byte [rbx - 1]
test r10d, r10d
je 0x449a10
mov rdx, qword [r12]
movzx ecx, ax
call sym.putc
cmp eax, 0xffffffff
jne 0x449a34
mov edi, eax
cmp qword [rbp - 0x20], 0xfff
jbe 0x448299
mov rcx, qword [rbp - 0x28]
call sym.free
jmp 0x44829e
mov rax, qword [rbp + 0x80]
mov eax, dword [rax + rbx]
test r11d, r11d
je 0x449f0a
mov r9d, r11d
neg r9d
and r11d, r9d
cmp r11d, 0xffff
ja 0x44a10c
mov r9d, 0xffffffff
cmp r11d, 0xff
jbe 0x449ad0
shr r11d, 8
mov r9d, 7
movzx r10d, byte [rsi + r11]
add r10d, r9d
test eax, eax
je 0x449b14
mov r9d, eax
neg r9d
and eax, r9d
cmp eax, 0xffff
ja 0x44a18e
mov r9d, 0xffffffff
cmp eax, 0xff
jbe 0x449b06
shr eax, 8
mov r9d, 7
movzx eax, byte [rsi + rax]
add eax, r9d
cmp r10d, eax
cmovg r10d, eax
mov r13d, 0x20
sub r13d, r14d
test edi, edi
jne 0x449e9e
cmp r10d, r13d
jl 0x44a139
mov r9d, r13d
sub r8d, edi
lea esi, [rdi + 1]
call sym.__quadmath_mpn_rshift
mov rcx, qword [rbp + 0x80]
mov r9d, r13d
mov r8d, dword [rbp + 0x88]
sub dword [rbp + 0x8c], esi
lea rdx, [rcx + rbx]
sub r8d, edi
call sym.__quadmath_mpn_rshift
mov edx, dword [rbp + 0x88]
mov rcx, qword [rbp + 0x80]
mov eax, edx
sub eax, edi
movsxd r8, eax
mov r8d, dword [rcx + r8*4 - 4]
test r8d, r8d
jne 0x449b81
mov eax, edx
sub eax, esi
mov dword [rbp + 0x88], eax
jmp 0x448497
mov dword [rbp + 8], 6
mov r11d, 0xe
jmp 0x4490ad
cmp r11d, 0x66
je 0x44a038
mov rax, qword [rbp - 0x28]
cmp dword [rbp + 0x98], 1
mov edx, 0x31
mov ecx, dword [rbp + 0x90]
mov word [rax + 4], dx
sbb eax, eax
and eax, 2
lea eax, [rax + rcx - 1]
mov dword [rbp + 0x90], eax
test eax, eax
jne 0x449bdf
mov dword [rbp + 0x98], 0
mov eax, dword [rbp - 0x38]
mov edi, dword [rbp - 0x34]
add eax, r14d
cmp eax, edi
jle 0x44875c
sub eax, edi
movsxd rcx, eax
sub r14d, eax
add rcx, rcx
sub rbx, rcx
jmp 0x44875c
mov rax, qword [rbp - 0x28]
sub dword [rbp + 0x90], 1
lea rdi, [rbp + 0x70]
mov dword [rbp - 0x38], 0
mov dword [rax + 4], 0x2e0030
lea rbx, [rax + 8]
jmp 0x448667
mov esi, dword [rbp + 0x20]
test esi, esi
jle 0x449f9d
cmp dword [rbp + 0x88], 1
jg 0x448653
mov rdx, qword [rbp + 0x80]
mov ebx, dword [rdx]
test ebx, ebx
jne 0x448653
mov rbx, rax
mov r13d, 1
jmp 0x448667
mov r8, qword [rbp + 0x80]
mov r9d, dword [r8]
test r9d, r9d
je 0x448711
mov edx, dword [rbp + 0x8c]
mov eax, 1
test edx, edx
je 0x44986a
jmp 0x44870c
mov r11d, r9d
jmp 0x448d87
mov r12, qword [rbp + 0x100]
test r8d, r8d
jle 0x449d4d
mov rdx, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x78]
mov r9d, 0xa
mov r8d, dword [rbp + 0x88]
call sym.__quadmath_mpn_mul_1
mov rdx, qword [rbp + 0x78]
mov r9d, 4
mov ebx, dword [rbp + 0x88]
mov ecx, dword [rdx]
mov eax, ecx
neg eax
and eax, ecx
cmp dword [rbp + 0x90], 4
mov rcx, qword [rbp + 0x80]
cmovle r9d, dword [rbp + 0x90]
cmp eax, 0xffff
ja 0x44a0af
cmp eax, 0xff
ja 0x44a0af
mov r8, qword [0x00499e90]
movzx eax, byte [r8 + rax]
sub eax, 1
cmp eax, r9d
jge 0x44a0af
mov eax, 0x20
mov r8d, ebx
sub eax, r9d
mov r9d, eax
call sym.__quadmath_mpn_lshift
test eax, eax
je 0x449d43
mov rdx, qword [rbp + 0x80]
movsxd rcx, ebx
add ebx, 1
mov dword [rdx + rcx*4], eax
or dword [rbp - 0x14], 1
mov dword [rbp + 0x88], ebx
mov eax, dword [rbp - 0x14]
mov dword [rbp + 0x90], eax
jmp 0x448497
mov r14d, dword [r12 + 0x20]
test r14d, r14d
jne 0x449ff1
cmp qword [r12 + 0x10], 0
je 0x4497af
mov rax, qword [r12 + 8]
lea rdx, [rax + 1]
mov qword [r12 + 8], rdx
mov byte [rax], 0x20
mov rax, qword [rbp + 0x108]
sub qword [r12 + 0x10], 1
movzx eax, byte [rax + 0xc]
jmp 0x4497af
mov edi, esi
jmp 0x4480c5
xor eax, eax
xor edi, edi
jmp 0x448a09
cmp eax, r9d
jge 0x449482
sub r10d, 1
lea rdx, [rdx + r12 - 4]
sub edi, r10d
mov r8d, edi
call sym.__quadmath_mpn_rshift
mov dword [rbp + 0x88], edi
mov r8d, dword [rbp + 0x90]
jmp 0x44932d
cmp r8d, dword [rbp + 8]
jne 0x449df2
mov esi, dword [rbp - 8]
test esi, esi
setg cl
cmp cl, 1
adc esi, 0xffffffff
mov dword [rbp - 8], esi
cmp byte [rbp - 0x3c], 0x67
je 0x44a25f
mov esi, dword [rbp - 8]
add esi, dword [rbp + 8]
movzx ecx, word [rax - 2]
sub rax, 2
jmp 0x449586
mov eax, dword [rbp - 0x18]
xor r14d, r14d
lea edi, [rax + rdi + 1]
jmp 0x44900f
xor r14d, r14d
jmp 0x44900c
mov edi, eax
jmp 0x44900f
mov r8d, dword [rbp + 0x14]
mov rdx, qword [r12]
mov ecx, 0x2d
test r8d, r8d
je 0x44a05e
call sym.fputwc
jmp 0x449110
mov rcx, rax
call sym.malloc
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x4485d3
jmp 0x448299
mov r12, qword [rbp + 0x100]
jmp 0x449d4d
mov dword [rbp - 0x38], 0
mov rax, r15
lea rdi, [rbp + 0x70]
jmp 0x448639
shr r10d, 0x10
mov r9d, 0x10
jmp 0x448db3
cmp r10d, r13d
jge 0x449b2e
lea esi, [rdi - 1]
sub rbx, 4
mov r9d, r13d
lea rdx, [rcx + rbx]
sub r8d, esi
call sym.__quadmath_mpn_rshift
mov rcx, qword [rbp + 0x80]
mov r9d, r13d
mov r8d, dword [rbp + 0x88]
sub dword [rbp + 0x8c], edi
lea rdx, [rcx + rbx]
sub r8d, esi
call sym.__quadmath_mpn_rshift
mov edx, dword [rbp + 0x88]
mov rcx, qword [rbp + 0x80]
mov eax, edx
sub eax, esi
movsxd r8, eax
mov ecx, dword [rcx + r8*4 - 4]
test ecx, ecx
jne 0x449b81
mov eax, edx
sub eax, edi
jmp 0x449b81
mov r9d, eax
neg r9d
and eax, r9d
cmp eax, 0xffff
ja 0x44a0f3
mov r9d, 0xffffffff
cmp eax, 0xff
jbe 0x449f34
shr eax, 8
mov r9d, 7
movzx r10d, byte [rsi + rax]
add r10d, r9d
jmp 0x449b14
call sym.malloc
mov r14, rax
test rax, rax
je 0x448fdf
cmp rbx, r15
ja 0x448a3f
mov edi, dword [rbp - 0x18]
mov rcx, r14
call sym.free
mov rcx, qword [rbp - 0x28]
call sym.free
jmp 0x44901d
movsxd rdi, r13d
mov edx, dword [rbp + 0x14]
mov r8d, 0x30
mov rcx, r12
mov r9, rdi
call sym.__quadmath_do_pad
cmp rdi, rax
jne 0x448fd1
add dword [rbp - 0x18], r13d
jmp 0x4489d3
mov dword [rbp - 8], 0
xor r14d, r14d
mov rbx, rax
jmp 0x4486c0
shr r9d, 0x10
mov eax, 0xf
jmp 0x449455
xor eax, eax
mov qword [rbp], 0
mov byte [rbp + 0x13], 1
mov word [rbp + 0x10], ax
jmp 0x448025
cmp eax, 4
jne 0x449fe3
cmp byte [rbp - 0x3c], 0x67
je 0x44a2b1
mov word [rbx], r11w
mov edx, 0x2d
jmp 0x4488d4
mov edi, dword [rbp + 0x14]
mov rdx, qword [r12]
mov ecx, 0x20
test edi, edi
jne 0x449967
call sym.putc
mov edi, eax
cmp eax, 0xffffffff
je 0x449a72
mov rax, qword [rbp + 0x108]
movzx eax, byte [rax + 0xc]
jmp 0x4497b5
mov ecx, dword [rbp + 0x58]
cmp dword [rdx + r11 - 8], ecx
jae 0x449701
jmp 0x4497eb
mov edi, dword [rbp - 0x38]
mov rax, qword [rbp - 0x28]
cmp dword [rbp - 0x34], edi
je 0x44a1d2
mov edi, 0x31
add dword [rbp - 0x38], 1
lea r15, [rax + 2]
mov word [rax + 2], di
jmp 0x449bdf
call sym.putc
mov edi, eax
cmp eax, 0xffffffff
jne 0x449110
jmp 0x449a72
sub edi, r10d
test edi, edi
jle 0x44a0a4
mov r9, qword [rbp + 0x80]
lea ecx, [rdi - 1]
lea r10, [rdx + r14*4]
xor eax, eax
nop
mov edx, dword [r10 + rax*4]
mov dword [r9 + rax*4], edx
mov rdx, rax
add rax, 1
cmp rcx, rdx
jne 0x44a090
mov dword [rbp + 0x88], edi
jmp 0x44932d
mov r8d, ebx
call sym.__quadmath_mpn_rshift
jmp 0x449d43
mov edi, dword [rbp - 0x18]
jmp 0x44901d
mov r8d, edi
lea r9d, [rbx + 1]
add edi, 1
call sym.__quadmath_mpn_lshift
mov dword [rbp + 0x88], edi
mov rdi, qword [rbp - 8]
mov rdx, qword [rbp + 0x80]
mov r8d, dword [rbp + 0x90]
mov dword [rdx + rdi*4], eax
jmp 0x44932d
cmp eax, 0xffffff
jbe 0x44a1b6
shr eax, 0x18
mov r9d, 0x17
jmp 0x449f34
cmp r11d, 0xffffff
jbe 0x44a1a7
shr r11d, 0x18
mov r9d, 0x17
jmp 0x449ad0
xor r10d, r10d
mov r11, rdx
xor r12d, r12d
xor r14d, r14d
jmp 0x449421
mov rdx, rcx
mov r9d, r14d
call sym.__quadmath_mpn_lshift
mov rcx, qword [rbp + 0x80]
mov r8d, dword [rbp + 0x88]
mov r9d, r14d
mov rdx, rcx
call sym.__quadmath_mpn_lshift
mov edx, eax
test eax, eax
je 0x448497
movsxd rax, dword [rbp + 0x88]
lea ecx, [rax + 1]
mov dword [rbp + 0x88], ecx
mov rcx, qword [rbp + 0x80]
mov dword [rcx + rax*4], edx
jmp 0x448497
xor r14d, r14d
jmp 0x448acc
cmp eax, 0xffffff
jbe 0x44a251
shr eax, 0x18
mov r9d, 0x17
jmp 0x449b06
shr r11d, 0x10
mov r9d, 0xf
jmp 0x449ad0
shr eax, 0x10
mov r9d, 0xf
jmp 0x449f34
xor edi, edi
mov rdx, rcx
xor ebx, ebx
xor eax, eax
jmp 0x448d87
mov dword [rax], 0x2e0031
test r10b, 8
jne 0x44a1e7
test r14d, r14d
je 0x44a2a0
movsxd rax, dword [rbp - 0x38]
mov rdx, qword [rbp - 0x28]
mov r13d, 0x30
mov word [rdx + rax*2 + 4], r13w
lea r14d, [rax + r14 + 1]
mov rax, qword [rbp + 0x108]
add dword [rbp + 0x90], 1
mov byte [rbp + 8], r10b
movzx ecx, word [rax + 8]
call qword [sym.imp.msvcrt.dll_isupper]
mov dword [rbp - 0x38], 1
mov r15, qword [rbp - 0x28]
cmp eax, 1
movzx r10d, byte [rbp + 8]
sbb r11d, r11d
and r11d, 0x20
add r11d, 0x45
mov dword [rbp + 0x94], r11d
jmp 0x449bdf
mov edi, dword [rbp - 0x18]
xor r14d, r14d
jmp 0x44900f
shr eax, 0x10
mov r9d, 0xf
jmp 0x449b06
mov ecx, 0x2e
cmp r11d, 0x66
jne 0x449545
test r10b, 8
je 0x449545
mov rsi, qword [rbp - 0x28]
lea r8, [rsi + 6]
cmp rax, r8
jne 0x449545
cmp word [rsi + 4], 0x30
jne 0x449545
sub dword [rbp - 8], 1
jmp 0x449545
mov r14d, dword [rbp - 0x34]
jmp 0x44a200
mov edi, dword [rbp - 0x18]
jmp 0x44900f
mov rax, qword [0x00496592]
mov qword [r15], rax
mov eax, dword [0x0049659a]
mov word [r15 + 2], 0x2e
mov dword [r15 + 8], eax
lea rax, [r15 + 4]
cmp rax, rbx
ja 0x44a30a
mov rdx, rbx
sub rdx, rax
xor eax, eax
sar rdx, 1
jmp 0x44a2ee
mov word [r15 + rax*2 + 0xc], 0x30
add rax, 1
cmp rdx, rax
jne 0x44a2e2
add rbx, 8
jmp 0x448941
mov r15d, edi
mov r13d, 1
jmp 0x4482c0
add rbx, 0xa
jmp 0x448941