Function at 0x40ffc0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rdi, qword [rdx + 0x20]
mov rsi, qword [rsp + 0xc0]
mov r12, rcx
mov rbx, rdx
mov r13d, r8d
mov r14d, r9d
mov rbp, qword [rsp + 0xc8]
test rdi, rdi
je 0x410063
cmp r8d, 0x64
je 0x4100e0
mov rdx, rdi
mov rcx, r12
call fcn.00408e10
test eax, eax
je 0x4101b3
mov r15d, dword [rbx + 8]
mov rax, qword [rbx + 0x20]
mov dword [rbx + 0x40], 0
mov dword [rbx + 0x44], 0
test r15d, r15d
mov qword [rbx + 0x48], rax
jne 0x410039
mov rax, qword [rbx + 0x28]
mov qword [rbx + 0x30], rax
mov dword [rbx + 0x80], 1
mov ecx, 8
call fcn.0049cf50
mov qword [rbx + 0x20], 0
mov qword [rbx + 0x88], rax
mov qword [rax], 0
mov rcx, rbp
call sub.msvcrt.dll_strlen
cmp r13d, 0x62
mov rdi, rax
je 0x410532
jle 0x4101d0
cmp r13d, 0xc0
je 0x410c90
jle 0x4103e0
cmp r13d, 0xe0
je 0x410150
jle 0x4105c4
cmp r13d, 0xe2
je 0x410c70
cmp r13d, 0xe4
jne 0x410250
mov rdx, rbp
mov rcx, r12
xor edi, edi
call fcn.00409410
test eax, eax
setne dil
jmp 0x4101b5
movzx eax, byte [rbp]
test al, al
je 0x40ffff
cmp qword [rdx + 0x28], rsi
jne 0x40ffff
mov edx, dword [rdx + 0x60]
test edx, edx
jne 0x4106e0
test rdi, rdi
je 0x410e7e
cmp al, 0x2f
je 0x410e00
cmp al, 0x5c
je 0x410e00
cmp byte [rbp + 1], 0x3a
je 0x410e00
xor r8d, r8d
mov rdx, rbp
mov rcx, rdi
call fcn.004962e0
mov qword [rbx + 0x20], rax
mov rcx, rdi
call fcn.0049fd58
mov qword [rbx + 0x28], rsi
mov edi, 1
jmp 0x4101b5
mov ebp, dword [rbx + 0x44]
test ebp, ebp
je 0x410161
cmp r14d, 1
je 0x410532
lea rdx, [rbx + 0x78]
mov rcx, r12
call fcn.0040a900
test eax, eax
je 0x4101b3
mov rdx, qword [rbx + 0x38]
add rdx, qword [rbx + 0x30]
mov rcx, r12
add rdx, rsi
call fcn.00409290
test eax, eax
je 0x4101b3
sub dword [rbx + 0x70], 1
jns 0x410532
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, str.Too_many_N_RBRACs_n
lea r9, [rax + 0x60]
mov r8d, 0x12
mov edx, 1
call sub.msvcrt.dll_fwrite
xor edi, edi
mov eax, edi
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp r13d, 0x24
je 0x410650
jle 0x410d61
cmp r13d, 0x38
je 0x410532
jle 0x410df1
cmp r13d, 0x3c
je 0x410cf0
cmp r13d, 0x44
jne 0x410250
mov edi, dword [rbx + 0x60]
xor r8d, r8d
test edi, edi
je 0x41020e
mov r8, qword [rbx + 0x38]
add r8, rsi
mov edx, r14d
mov rcx, r12
xor edi, edi
call fcn.004092f0
test eax, eax
setne dil
jmp 0x4101b5
mov r9d, dword [rbx + 0x60]
test r9d, r9d
je 0x410250
mov rax, qword [rbx + 0x68]
cmp rax, 0xffffffffffffffff
je 0x410248
cmp rsi, rax
jae 0x410250
mov qword [rbx + 0x68], rsi
nop dword [rax]
mov edx, 0x3a
mov rcx, rbp
call sub.msvcrt.dll_strchr
test rax, rax
je 0x410532
movzx r8d, byte [rax + 1]
mov edx, r8d
and edx, 0xffffffdf
cmp dl, 0x46
jne 0x4106b4
mov r8d, dword [rbx + 0x60]
test r8d, r8d
je 0x4102d0
mov r14, qword [rbx + 0x68]
cmp r14, 0xffffffffffffffff
je 0x410e11
cmp rsi, r14
jbe 0x410e11
lea rdx, [rbx + 0x78]
mov rcx, r12
call fcn.0040a900
test eax, eax
je 0x4101b3
mov rdx, r14
mov rcx, r12
call fcn.00409170
test eax, eax
je 0x4101b3
mov qword [rbx + 0x68], 0xffffffffffffffff
nop dword [rax]
mov ecx, dword [rbx + 8]
test ecx, ecx
je 0x4102db
mov qword [rbx + 0x38], rsi
mov dword [rbx + 0x60], 1
mov edx, 0x3a
mov rcx, rbp
call sub.msvcrt.dll_strchr
test rax, rax
mov qword [rsp + 0x40], rax
jne 0x410321
jmp 0x410532
lea rcx, [rax + 2]
mov edx, 0x3a
mov qword [rsp + 0x40], rcx
call sub.msvcrt.dll_strchr
test rax, rax
mov qword [rsp + 0x40], rax
je case.0x4103d8.1
movzx r8d, byte [rax + 1]
cmp r8b, 0x3a
je 0x410300
cmp byte [rbp], 0x24
je 0x410e19
cmp rbp, rax
je 0x410e69
cmp byte [rbp], 0x20
jne 0x410352
lea rdx, [rbp + 1]
cmp rax, rdx
je 0x410e69
sub rax, rbp
mov rcx, rbp
mov edx, eax
call fcn.0040a670
mov r14, rax
mov rax, qword [rsp + 0x40]
lea rdx, [rax + 1]
mov rcx, qword [0x004d8570]
add rdi, rbp
mov qword [rsp + 0x40], rdx
movzx r8d, byte [rax + 1]
test byte [rcx + r8*2], 4
mov rdx, r8
jne case.0x4103d8.21
cmp r8b, 0x2d
sete r8b
cmp dl, 0x28
sete cl
or r8b, cl
jne case.0x4103d8.21
test dl, dl
je case.0x4103d8.1
lea rdx, [rax + 2]
mov qword [rsp + 0x40], rdx
movzx r15d, byte [rax + 1]
lea edx, [r15 - 0x43]
cmp dl, 0x33
ja case.0x4103d8.1
lea rcx, [0x004ad410]
movzx edx, dl
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
cmp r13d, 0x82
je 0x410540
jle 0x4106be
cmp r13d, 0x84
je 0x4105ac
cmp r13d, 0xa2
jne 0x410250
mov rax, qword [rbx + 0x50]
test rax, rax
je 0x410d83
mov edx, dword [rax + 0x20]
mov rcx, qword [rax + 8]
cmp edx, dword [rbx + 0x80]
mov qword [rbx + 0x50], rcx
jae 0x410d83
mov r8, qword [rbx + 0x88]
test rcx, rcx
mov rdx, qword [r8 + rdx*8]
mov qword [rax + 0x28], rdx
je 0x410d83
mov rdx, qword [rcx + 0x10]
jmp 0x4105af
xor esi, esi
cmp byte [rax + 2], 0x74
je 0x410e8f
lea rax, [rsp + 0x48]
lea r9, [rsp + 0x40]
mov r8, r14
mov qword [rsp + 0x28], rdi
mov rdx, rbx
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.0040cfc0
test rax, rax
mov r8, rax
je 0x4101b3
test r14, r14
je 0x410532
mov rdx, r14
mov rcx, r12
mov edi, dword [rbx + 0x1a8]
call fcn.00409e10
test rax, rax
mov r13, rax
je 0x4101b3
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x4104bf
mov qword [rax], r13
test edi, edi
jne 0x41050a
lea rdi, [rbx + 0x1a0]
mov rbx, qword [rbx + 0x1a0]
test rbx, rbx
je 0x41050a
movzx ebp, byte [r14]
jmp 0x4104eb
mov rdi, rbx
mov rbx, qword [rbx]
test rbx, rbx
je 0x41050a
mov rcx, qword [rbx + 8]
cmp byte [rcx], bpl
jne 0x4104e0
mov rdx, r14
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4104e0
mov rax, qword [rbx]
mov qword [rbx + 0x18], r13
mov qword [rdi], rax
test esi, esi
je 0x410532
mov r8, r13
mov rdx, r14
mov rcx, r12
call fcn.00409d60
test rax, rax
je 0x4101b3
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x410532
mov qword [rdx], rax
mov edi, 1
jmp 0x4101b5
mov ecx, 0x30
call fcn.0049cf50
mov rdi, rax
mov rax, qword [rbx + 0x58]
mov rcx, qword [rbx + 0x88]
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], rsi
mov qword [rdi + 0x28], 0
mov qword [rbx + 0x58], rdi
mov qword [rdi], rax
mov rax, qword [rbx + 0x50]
mov qword [rbx + 0x50], rdi
mov qword [rdi + 8], rax
mov eax, dword [rbx + 0x80]
mov dword [rdi + 0x20], eax
add eax, 1
lea rdx, [rax*8]
mov dword [rbx + 0x80], eax
call fcn.0049cfd0
mov edx, dword [rdi + 0x20]
mov qword [rbx + 0x88], rax
mov qword [rax + rdx*8], 0
mov rdx, rbp
mov rcx, r12
xor edi, edi
call fcn.00408ed0
test eax, eax
setne dil
jmp 0x4101b5
cmp r13d, 0xc2
jne 0x410250
mov eax, dword [rbx + 0x80]
mov rcx, qword [rbx + 0x88]
add eax, 1
lea rdx, [rax*8]
mov dword [rbx + 0x80], eax
call fcn.0049cfd0
mov rdi, qword [rbx + 0x58]
mov r12, rax
mov qword [rbx + 0x88], rax
test rdi, rdi
jne 0x41061c
jmp 0x410d30
mov rdi, qword [rdi]
test rdi, rdi
je 0x410d30
cmp rsi, qword [rdi + 0x18]
jne 0x410610
mov rcx, qword [rdi + 0x10]
mov rdx, rbp
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x410610
mov eax, dword [rbx + 0x80]
mov rdx, qword [rdi + 0x28]
mov edi, 1
sub eax, 1
mov qword [r12 + rax*8], rdx
jmp 0x4101b5
cmp byte [rbp], 0
jne 0x410230
mov r11d, dword [rbx + 0x60]
test r11d, r11d
je 0x410532
mov r10d, dword [rbx + 8]
test r10d, r10d
je 0x410674
add rsi, qword [rbx + 0x38]
lea rdx, [rbx + 0x78]
mov rcx, r12
call fcn.0040a900
test eax, eax
je 0x4101b3
mov rdx, rsi
mov rcx, r12
call fcn.00409170
test eax, eax
je 0x4101b3
mov dword [rbx + 0x60], 0
mov qword [rbx + 0x68], 0xffffffffffffffff
mov edi, 1
jmp 0x4101b5
mov qword [rsp + 0x40], rax
jmp 0x410326
cmp r13d, 0x64
jne 0x410250
cmp dword [rbx + 0x60], 0
movzx eax, byte [rbp]
je 0x410731
test al, al
je 0x410dd0
nop word [rax + rax]
mov rdi, qword [rbx + 0x68]
cmp rdi, 0xffffffffffffffff
je 0x410dd0
cmp rsi, rdi
jbe 0x410dd0
lea rdx, [rbx + 0x78]
mov rcx, r12
call fcn.0040a900
test eax, eax
je 0x4101b3
mov rdx, rdi
mov rcx, r12
call fcn.00409170
test eax, eax
je 0x4101b3
mov dword [rbx + 0x60], 0
mov qword [rbx + 0x68], 0xffffffffffffffff
movzx eax, byte [rbp]
test al, al
je 0x410532
mov rdi, qword [rbx + 0x20]
jmp 0x410101
mov rcx, rbp
call fcn.0040a640
jmp 0x4101b3
lea r9, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov rdx, rbx
mov rcx, r12
call fcn.0040cfc0
test rax, rax
mov r9, rax
je 0x4101b3
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 4
mov r8, r14
mov rdx, rbx
mov rcx, r12
call fcn.0040a860
test eax, eax
je 0x4101b3
jmp 0x410532
lea r9, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov rdx, rbx
mov rcx, r12
call fcn.0040cfc0
test rax, rax
mov r8, rax
je 0x4101b3
mov qword [rsp + 0x20], rsi
mov r9d, 2
mov rdx, r14
mov rcx, r12
call fcn.004090a0
test eax, eax
je 0x4101b3
jmp 0x410532
lea r9, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov rdx, rbx
mov rcx, r12
call fcn.0040cfc0
test rax, rax
mov r8, rax
je 0x4101b3
mov r9, rsi
mov rdx, r14
mov rcx, r12
call fcn.00409520
test eax, eax
jne 0x410532
jmp 0x4101b3
cmp r13d, 0x24
jne case.0x4103d8.15
lea rsi, [rsp + 0x40]
jmp 0x410881
add rax, 1
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov r9, rsi
mov rdx, rbx
mov rcx, r12
mov qword [rsp + 0x40], rax
call fcn.0040cfc0
test rax, rax
je 0x4101b3
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0x3b
je 0x410850
jmp 0x410532
lea r9, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov rdx, rbx
mov rcx, r12
call fcn.0040cfc0
test rax, rax
mov r9, rax
je 0x4101b3
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 2
jmp 0x410789
lea r9, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov rdx, rbx
mov rcx, r12
call fcn.0040cfc0
test rax, rax
mov qword [rsp + 0x38], rax
je 0x4101b3
test r14, r14
je 0x410979
mov rax, qword [rbx]
mov rdi, qword [rbx + 0x10]
mov rax, qword [rax + 8]
movzx r15d, byte [rax + 0x1c]
mov eax, dword [rbx + 0x18]
test eax, eax
jle 0x410979
sub eax, 1
movzx r9d, byte [r14]
lea rbp, [rdi + rax*8 + 8]
jmp 0x410939
add rdi, 8
cmp rdi, rbp
je 0x410979
mov r13, qword [rdi]
test r15b, r15b
mov rcx, qword [r13 + 8]
movzx eax, byte [rcx]
je 0x410951
cmp r15b, al
je 0x410e71
cmp al, r9b
jne 0x410930
mov rdx, r14
mov byte [rsp + 0x37], r9b
call sub.msvcrt.dll_strcmp
test eax, eax
movzx r9d, byte [rsp + 0x37]
jne 0x410930
mov rax, qword [r13 + 0x20]
mov rsi, qword [r13 + 0x10]
add rsi, qword [rax + 0x30]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 1
mov r9, qword [rsp + 0x38]
jmp 0x410789
lea rbp, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov rdx, rbx
mov rcx, r12
mov r9, rbp
call fcn.0040cfc0
test rax, rax
mov r8, rax
je 0x4101b3
cmp r15b, 0x46
mov qword [rsp + 0x20], rsi
mov rdx, r14
sete r9b
mov rcx, r12
movzx r9d, r9b
call fcn.00408fa0
test eax, eax
jne 0x410a16
jmp 0x4101b3
add rax, 1
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov r9, rbp
mov rdx, rbx
mov rcx, r12
mov qword [rsp + 0x40], rax
call fcn.0040cfc0
test rax, rax
je 0x4101b3
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0x3b
je 0x4109e5
jmp 0x410532
lea rax, [rsp + 0x48]
lea r9, [rsp + 0x40]
mov r8, r14
mov qword [rsp + 0x28], rdi
mov rdx, rbx
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.0040cfc0
test rax, rax
mov r8, rax
je 0x4101b3
test r14, r14
jne 0x410511
jmp 0x410532
lea r9, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov rdx, rbx
mov rcx, r12
call fcn.0040cfc0
test rax, rax
mov r9, rax
je 0x4101b3
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 5
jmp 0x410789
cmp byte [rax + 2], 0x46
je 0x410ea2
lea r9, [rsp + 0x40]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
xor r8d, r8d
mov rdx, rbx
mov rcx, r12
call fcn.0040cfc0
test rax, rax
je 0x4101b3
mov qword [rsp + 0x20], rsi
mov r9d, 1
mov r8, rax
jmp 0x4107dc
lea r9, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov rdx, rbx
mov rcx, r12
call fcn.0040cfc0
test rax, rax
mov r8, rax
je 0x4101b3
mov qword [rsp + 0x20], rsi
mov r9d, 3
jmp 0x4107dc
cmp byte [rax + 2], 0x3d
jne case.0x4103d8.1
lea rcx, [rax + 4]
mov qword [rsp + 0x40], rcx
movzx eax, byte [rax + 3]
cmp al, 0x69
je 0x410f17
cmp al, 0x72
je 0x410ef6
cmp al, 0x65
jne case.0x4103d8.1
lea r9, [rsp + 0x40]
xor r8d, r8d
mov rdx, rbx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov rcx, r12
call fcn.0040cfc0
test rax, rax
mov rbx, rax
je 0x4101b3
mov rcx, qword [rsp + 0x40]
cmp byte [rcx], 0x2c
jne case.0x4103d8.1
call sub.msvcrt.dll_atoi
mov r8, rbx
movsxd r9, eax
mov rdx, r14
mov rcx, r12
call fcn.004094c0
test eax, eax
je 0x4101b3
jmp 0x410532
lea r9, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov rdx, rbx
mov rcx, r12
call fcn.0040cfc0
test rax, rax
mov r8, rax
je 0x4101b3
mov qword [rsp + 0x20], rsi
mov r9d, 4
jmp 0x4107dc
lea rdx, [rax + 3]
mov qword [rsp + 0x40], rdx
cmp byte [rax + 3], 0x6e
jne case.0x4103d8.1
lea rdx, [rax + 4]
mov qword [rsp + 0x40], rdx
cmp byte [rax + 4], 0x30
jne case.0x4103d8.1
add rax, 5
mov qword [rsp + 0x40], rax
add rax, 1
cmp byte [rax - 1], 0x3b
jne 0x410c18
jmp 0x410532
lea r9, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov rdx, rbx
mov rcx, r12
call fcn.0040cfc0
test rax, rax
mov r9, rax
je 0x4101b3
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 3
jmp 0x410789
mov rdx, rbp
mov rcx, r12
xor edi, edi
call fcn.004093f0
test eax, eax
setne dil
jmp 0x4101b5
mov r13d, dword [rbx + 0x44]
test r13d, r13d
je 0x410ca3
cmp r14d, 1
je 0x410532
mov edi, dword [rbx + 0x60]
test edi, edi
je 0x410da0
mov rdx, qword [rbx + 0x38]
add rdx, qword [rbx + 0x30]
mov rcx, r12
add rdx, rsi
call fcn.004091e0
test eax, eax
je 0x4101b3
lea rdx, [rbx + 0x78]
mov rcx, r12
call fcn.0040a900
test eax, eax
je 0x4101b3
add dword [rbx + 0x70], 1
mov edi, 1
jmp 0x4101b5
lea rdi, str.gcc2_compiled.
mov ecx, 0xf
mov rsi, rbp
repe cmpsb byte [rsi], byte [rdi]
je 0x410de0
lea rdi, str.gcc_compiled.
mov ecx, 0xe
mov rsi, rbp
repe cmpsb byte [rsi], byte [rdi]
jne 0x410d90
mov dword [rbx + 0x40], 1
mov edi, 1
jmp 0x4101b5
lea rdx, str.Undefined_N_EXCL
mov rcx, rbp
mov edi, 1
call fcn.0040a5e0
mov eax, dword [rbx + 0x80]
lea edx, [rax - 1]
mov rax, qword [rbx + 0x88]
mov qword [rax + rdx*8], 0
jmp 0x4101b5
cmp r13d, 0xc
je 0x410532
jl 0x410250
lea eax, [r13 - 0x1e]
cmp eax, 1
jbe 0x410532
jmp 0x410250
mov rdx, qword [rbx + 0x48]
jmp 0x4105af
mov dword [rbx + 0x44], 1
jmp 0x410532
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, str.N_LBRAC_not_within_function_n
lea r9, [rax + 0x60]
mov r8d, 0x1c
mov edx, 1
call sub.msvcrt.dll_fwrite
jmp 0x4101b5
mov rdi, rsi
jmp 0x4106f7
mov dword [rbx + 0x40], 2
mov edi, 1
jmp 0x4101b5
cmp r13d, 0x2a
je 0x410532
jmp 0x410250
mov rcx, rbp
call fcn.0049d020
mov qword [rbx + 0x20], rax
jmp 0x410136
mov r14, rsi
jmp 0x41029a
movzx edx, byte [rbp + 1]
sub edx, 0x58
cmp dl, 0x1e
ja case.0x410e36.1
lea rcx, [0x004ad4e0]
movzx edx, dl
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
lea r14, str.eh_throw
jmp 0x410367
lea r14, [0x004ad388]
jmp 0x410367
lea rdx, str.unknown_C_encoded_name
mov rcx, rbp
call fcn.0040a5e0
mov rax, qword [rsp + 0x40]
jmp case.0x410e36.0
xor r14d, r14d
jmp 0x410367
movzx eax, byte [rcx + 1]
add rcx, 1
jmp 0x410951
mov rcx, rbp
call fcn.0049d020
mov qword [rbx + 0x20], rax
jmp 0x41013e
add rax, 3
mov esi, 1
mov qword [rsp + 0x40], rax
jmp 0x41045e
lea r9, [rsp + 0x40]
add rax, 3
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
mov rdx, rbx
mov rcx, r12
mov qword [rsp + 0x40], rax
call fcn.0040cfc0
test rax, rax
je 0x4101b3
mov rcx, r12
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
call fcn.00409830
mov rcx, r12
mov rdx, rax
call fcn.004097e0
jmp 0x410acb
call sub.msvcrt.dll_atof
movapd xmm2, xmm0
mov rdx, r14
mov rcx, r12
call fcn.00409470
test eax, eax
je 0x4101b3
jmp 0x410532
call sub.msvcrt.dll_atoi
mov rdx, r14
movsxd r8, eax
mov rcx, r12
call fcn.00409430
test eax, eax
je 0x4101b3
jmp 0x410532