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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x210]
sub rsp, 0x310
mov rax, qword [0x1402f2300]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x38], rcx
xor r15d, r15d
mov dword [rsp + 0x30], r15d
mov rdx, rcx
cmp qword [rcx + 0x18], 0xf
jbe 0x140044360
mov rdx, qword [rcx]
mov dword [rsp + 0x20], 1
mov r9d, 0x40
mov r13d, 2
mov r8d, r13d
lea rcx, [rbp + 0x40]
call fcn.140022430
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x40], rax
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x3c], edx
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea r12, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
xorps xmm0, xmm0
xorps xmm1, xmm1
test byte [rbp + rcx + 0x50], 6
je 0x140044538
movups xmmword [rbp + 0x190], xmm0
movdqu xmmword [rbp + 0x1a0], xmm1
mov qword [rsp + 0x30], gethostbyname
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x190]
call fcn.140020920
mov qword [rbp + 0x190], rax
mov qword [rbp + 0x1a0], 0x22
mov rcx, qword [rsp + 0x30]
mov qword [rbp + 0x1a8], rcx
movups xmm0, xmmword [str.Could_not_save_configuration_file.]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14018f0b8]
movups xmmword [rax + 0x10], xmm1
movzx ecx, word [0x14018f0c8]
mov word [rax + 0x20], cx
mov byte [rax + 0x22], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
movdqa xmm1, xmmword [0x14018da50]
movdqu xmmword [rbp + 0x160], xmm1
mov rax, qword [str.Warning]
mov dword [rbp + 0x150], eax
movzx eax, word [0x14018d96c]
mov word [rbp + 0x154], ax
movzx eax, byte [0x14018d96e]
mov byte [rbp + 0x156], al
mov byte [rbp + 0x157], 0
lea r8, [rbp + 0x190]
lea rdx, [rbp + 0x150]
mov rcx, rbx
call fcn.140065dc0
nop
mov rdx, qword [rbp + 0x168]
cmp rdx, 0xf
jbe 0x1400444d2
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400444cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400453e3
call fcn.14014d4dc
movdqa xmm0, xmmword [0x14018cc30]
movdqu xmmword [rbp + 0x160], xmm0
mov byte [rbp + 0x150], 0
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0xf
jbe 0x14004452a
inc rdx
mov rcx, qword [rbp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044525
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400453e9
call fcn.14014d4dc
xor bl, bl
lea rdi, vtable.std::ios_base.0
jmp 0x1400452ff
lea rax, [0x14018eb18]
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], r15
mov dword [rbp - 0x10], r15d
mov qword [rbp - 8], r15
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp + 0x10], xmm1
movdqa xmmword [rbp + 0x20], xmm0
mov byte [rbp + 0x30], 0
mov dword [rsp + 0x30], 4
mov qword [rbp - 0x28], r12
mov dword [rbp - 0x2c], 0x78
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x28]
call fcn.14002a730
nop
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rsp + rcx + 0x4c], edx
lea rcx, [rsp + 0x58]
call fcn.140022650
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + 0x58], rax
mov qword [rbp - 0x40], r15
mov dword [rbp - 0x38], 4
lea rdx, [0x14018f0e0]
lea rcx, [rsp + 0x50]
call fcn.140020670
lea rcx, str.Dark
lea rdx, str.Light
cmp dword [r14 + 0x58], 0
cmove rdx, rcx
mov rcx, rax
call fcn.140020670
mov rcx, rax
lea rdx, [0x14018dfcc]
call fcn.140020670
lea rdx, [0x14018f0f0]
lea rcx, [rsp + 0x50]
call fcn.140020670
lea rcx, [0x14018ec4c]
lea rdx, [0x14018ec54]
cmp dword [r14 + 0x64], 0
cmove rdx, rcx
mov rcx, rax
call fcn.140020670
mov rcx, rax
lea rdx, [0x14018dfcc]
call fcn.140020670
lea rdx, [0x14018f120]
lea rcx, [rsp + 0x50]
call fcn.140020670
lea rcx, str.European
lea rdx, str.American
cmp dword [r14 + 0x5c], 1
cmove rdx, rcx
mov rcx, rax
call fcn.140020670
mov rcx, rax
lea rdx, [0x14018dfcc]
call fcn.140020670
lea rdx, [0x14018f148]
lea rcx, [rsp + 0x50]
call fcn.140020670
lea rcx, str.fifo
lea rdx, str.AverageCost
cmp dword [r14 + 0x60], 1
cmove rdx, rcx
mov rcx, rax
call fcn.140020670
mov rcx, rax
lea rdx, [0x14018dfcc]
call fcn.140020670
lea rdx, [0x14018f158]
lea rcx, [rsp + 0x50]
call fcn.140020670
lea rdi, str.true
lea rbx, str.false
mov rdx, rbx
cmp byte [r14 + 0x33], 0
cmovne rdx, rdi
mov rcx, rax
call fcn.140020670
mov rcx, rax
lea rdx, [0x14018dfcc]
call fcn.140020670
lea rdx, [0x14018f170]
lea rcx, [rsp + 0x50]
call fcn.140020670
mov rdx, rbx
cmp byte [r14 + 0x31], 0
cmovne rdx, rdi
mov rcx, rax
call fcn.140020670
mov rcx, rax
lea rdx, [0x14018dfcc]
call fcn.140020670
lea rdx, [0x14018f188]
lea rcx, [rsp + 0x50]
call fcn.140020670
mov rdx, rbx
cmp byte [r14 + 0x34], 0
cmovne rdx, rdi
mov rcx, rax
call fcn.140020670
mov rcx, rax
lea rdx, [0x14018dfcc]
call fcn.140020670
lea rdx, [0x14018f1a0]
lea rcx, [rsp + 0x50]
call fcn.140020670
mov rdx, rbx
cmp byte [r14 + 0x32], 0
cmovne rdx, rdi
mov rcx, rax
call fcn.140020670
mov rcx, rax
lea rdx, [0x14018dfcc]
call fcn.140020670
lea rdx, [0x14018f1b8]
lea rcx, [rsp + 0x50]
call fcn.140020670
cmp byte [r14 + 0x30], 0
cmovne rbx, rdi
mov rdx, rbx
mov rcx, rax
call fcn.140020670
mov rcx, rax
lea rdx, [0x14018dfcc]
call fcn.140020670
lea rdx, str.STARTUPWIDTH
lea rcx, [rsp + 0x50]
call fcn.140020670
mov rcx, rax
lea rdx, [0x14018f1c8]
call fcn.140020670
mov edx, dword [r14 + 0x20]
mov rcx, rax
call fcn.1400359b0
mov rcx, rax
lea rdx, [0x14018dfcc]
call fcn.140020670
lea rdx, str.STARTUPHEIGHT
lea rcx, [rsp + 0x50]
call fcn.140020670
mov rcx, rax
lea rdx, [0x14018f1c8]
call fcn.140020670
mov edx, dword [r14 + 0x24]
mov rcx, rax
call fcn.1400359b0
mov rcx, rax
lea rdx, [0x14018dfcc]
call fcn.140020670
lea rdx, str.STARTUPRIGHTPANELWIDTH
lea rcx, [rsp + 0x50]
call fcn.140020670
mov rcx, rax
lea rdx, [0x14018f1c8]
call fcn.140020670
mov edx, dword [r14 + 0x28]
mov rcx, rax
call fcn.1400359b0
mov rcx, rax
lea rdx, [0x14018dfcc]
call fcn.140020670
lea rdx, str.GUIFONTSIZE
lea rcx, [rsp + 0x50]
call fcn.140020670
mov rcx, rax
lea rdx, [0x14018f1c8]
call fcn.140020670
mov rbx, rax
movss xmm1, dword [r14 + 0x2c]
cvtps2pd xmm1, xmm1
xor r8d, r8d
lea rcx, [rbp + 0x150]
call fcn.140036c40
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x1400448de
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.140021340
lea rdx, [0x14018dfcc]
mov rcx, rax
call fcn.140020670
nop
mov rdx, qword [rbp + 0x168]
cmp rdx, 0xf
jbe 0x14004493a
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044935
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400453ef
call fcn.14014d4dc
mov rdi, qword [r14 + 0x70]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x140044a1b
nop word [rax + rax]
mov eax, dword [rbx + 0x10]
mov dword [rbp + 0x150], eax
lea rdx, [rbx + 0x18]
lea rcx, [rbp + 0x158]
call fcn.140015b50
nop
lea rdx, [0x14018f218]
lea rcx, [rsp + 0x50]
call fcn.140020670
mov edx, dword [rbp + 0x150]
mov rcx, rax
call fcn.1400359b0
mov rcx, rax
lea rdx, [0x14018f1c8]
call fcn.140020670
lea rdx, [rbp + 0x158]
cmp qword [rbp + 0x170], 0xf
cmova rdx, qword [rbp + 0x158]
mov r8, qword [rbp + 0x168]
mov rcx, rax
call fcn.140021340
lea rdx, [0x14018dfcc]
mov rcx, rax
call fcn.140020670
nop
mov rdx, qword [rbp + 0x170]
cmp rdx, 0xf
jbe 0x140044a0f
inc rdx
mov rcx, qword [rbp + 0x158]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044a0a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400453f5
call fcn.14014d4dc
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x140044950
mov rdi, qword [r14 + 0xb0]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x140044e42
nop
lea rdx, [rbx + 0x10]
lea rcx, [rbp + 0x1c0]
call fcn.140015b50
nop
lea rdx, [rbx + 0x30]
lea rcx, [rbp + 0x1e0]
call fcn.140015b50
nop
lea rdx, [0x14018f228]
lea rcx, [rsp + 0x50]
call fcn.140020670
mov r13, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
mov qword [rbp + 0x160], r15
mov qword [rbp + 0x168], r15
lea r15, [rbp + 0x1c0]
mov r12, qword [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 0xf
cmova r15, r12
mov r14, qword [rbp + 0x1d0]
movabs rax, 0x7fffffffffffffff
cmp r14, rax
ja 0x14004541f
cmp r14, 0xf
ja 0x140044adb
mov qword [rbp + 0x160], r14
mov eax, recv
mov qword [rbp + 0x168], rax
movups xmm0, xmmword [r15]
movups xmmword [rbp + 0x150], xmm0
jmp 0x140044b83
mov rsi, r14
or rsi, 0xf
cmp rsi, rax
jbe 0x140044afa
mov rsi, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140044b2a
cmp rsi, 0x16
mov eax, socket
cmovb rsi, rax
lea rcx, [rsi + 1]
test rcx, rcx
jne 0x140044b14
xor eax, eax
jmp 0x140044b51
cmp rcx, 0x1000
jb 0x140044b4c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400453fb
mov rcx, rax
call fcn.14014d4a0
mov rcx, rax
test rax, rax
je 0x14004540d
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140044b51
call fcn.14014d4a0
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x160], r14
mov qword [rbp + 0x168], rsi
lea r8, [r14 + 1]
mov rdx, r15
mov rcx, rax
call fcn.140180c80
mov rax, qword [rbp + 0x168]
mov r14, qword [rbp + 0x160]
lea rdx, [rbp + 0x150]
cmp rax, 0xf
cmova rdx, qword [rbp + 0x150]
mov r8, r14
mov rcx, r13
call fcn.140021340
lea rdx, [0x14018f1c8]
mov rcx, rax
call fcn.140020670
mov qword [rsp + 0x30], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
xor eax, eax
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], rax
lea r13, [rbp + 0x1e0]
mov r15, qword [rbp + 0x1e0]
mov rsi, qword [rbp + 0x1f8]
cmp rsi, 0xf
cmova r13, r15
mov r14, qword [rbp + 0x1f0]
movabs rcx, 0x7fffffffffffffff
cmp r14, rcx
ja 0x140045419
cmp r14, 0xf
ja 0x140044c30
mov qword [rbp + 0x1a0], r14
mov eax, recv
mov qword [rbp + 0x1a8], rax
movups xmm0, xmmword [r13]
movups xmmword [rbp + 0x190], xmm0
jmp 0x140044cdb
mov rsi, r14
or rsi, 0xf
cmp rsi, rcx
jbe 0x140044c4f
mov rsi, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140044c7b
cmp rsi, 0x16
mov ecx, socket
cmovb rsi, rcx
lea rcx, [rsi + 1]
test rcx, rcx
je 0x140044ca2
cmp rcx, 0x1000
jb 0x140044c9d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140045401
mov rcx, rax
call fcn.14014d4a0
mov rcx, rax
test rax, rax
je 0x140045407
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140044ca2
call fcn.14014d4a0
mov qword [rbp + 0x190], rax
mov qword [rbp + 0x1a0], r14
mov qword [rbp + 0x1a8], rsi
lea r8, [r14 + 1]
mov rdx, r13
mov rcx, rax
call fcn.140180c80
mov rax, qword [rbp + 0x1a8]
mov r14, qword [rbp + 0x1a0]
mov rsi, qword [rbp + 0x1f8]
lea rdx, [rbp + 0x190]
cmp rax, 0xf
cmova rdx, qword [rbp + 0x190]
mov r8, r14
mov rcx, qword [rsp + 0x30]
call fcn.140021340
lea rdx, [0x14018dfcc]
mov rcx, rax
call fcn.140020670
nop
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0xf
jbe 0x140044d4c
inc rdx
mov rcx, qword [rbp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044d47
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045407
call fcn.14014d4dc
mov qword [rbp + 0x1a0], 0
mov qword [rbp + 0x1a8], socket
mov byte [rbp + 0x190], 0
mov rdx, qword [rbp + 0x168]
cmp rdx, 0xf
jbe 0x140044dab
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044da5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004540d
call fcn.14014d4dc
nop
cmp rsi, 0xf
jbe 0x140044de2
lea rdx, [rsi + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x140044dda
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045413
mov rcx, r15
call fcn.14014d4dc
mov rax, qword [rbp + 0x1d8]
cmp rax, 0xf
jbe 0x140044e21
lea rdx, [rax + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x140044e19
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045413
mov rcx, r12
call fcn.14014d4dc
mov rbx, qword [rbx]
xor r15d, r15d
cmp rbx, rdi
jne 0x140044a30
mov r14, qword [rsp + 0x38]
lea r12, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov r13d, 2
mov rdi, qword [r14 + 0xf0]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x140044fa5
nop word [rax + rax]
lea rdx, [rbx + 0x10]
lea rcx, [rbp + 0x150]
call fcn.140015b50
nop
lea rdx, [rbx + 0x30]
lea rcx, [rbp + 0x170]
call fcn.140015b50
nop
lea rdx, [0x14018f238]
lea rcx, [rsp + 0x50]
call fcn.140020670
lea rdx, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rdx, qword [rbp + 0x150]
mov r8, qword [rbp + 0x160]
mov rcx, rax
call fcn.140021340
lea rdx, [0x14018f1c8]
mov rcx, rax
call fcn.140020670
lea rdx, [rbp + 0x170]
cmp qword [rbp + 0x188], 0xf
cmova rdx, qword [rbp + 0x170]
mov r8, qword [rbp + 0x180]
mov rcx, rax
call fcn.140021340
lea rdx, [0x14018dfcc]
mov rcx, rax
call fcn.140020670
nop
mov rdx, qword [rbp + 0x188]
cmp rdx, 0xf
jbe 0x140044f3f
inc rdx
mov rcx, qword [rbp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044f3a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045425
call fcn.14014d4dc
mov qword [rbp + 0x180], r15
mov qword [rbp + 0x188], socket
mov byte [rbp + 0x170], 0
mov rdx, qword [rbp + 0x168]
cmp rdx, 0xf
jbe 0x140044f99
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044f94
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045425
call fcn.14014d4dc
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x140044e60
mov rdi, qword [r14 + 0x130]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14004508a
nop dword [rax + rax]
lea rdx, [rbx + 0x10]
lea rcx, [rbp + 0x150]
call fcn.140015b50
mov eax, dword [rbx + 0x30]
mov dword [rbp + 0x170], eax
lea rdx, [0x14018f248]
lea rcx, [rsp + 0x50]
call fcn.140020670
lea rdx, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rdx, qword [rbp + 0x150]
mov r8, qword [rbp + 0x160]
mov rcx, rax
call fcn.140021340
lea rdx, [0x14018f1c8]
mov rcx, rax
call fcn.140020670
mov edx, dword [rbp + 0x170]
mov rcx, rax
call fcn.1400359b0
mov rcx, rax
lea rdx, [0x14018dfcc]
call fcn.140020670
nop
mov rdx, qword [rbp + 0x168]
cmp rdx, 0xf
jbe 0x14004507e
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045079
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004542b
call fcn.14014d4dc
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x140044fc0
mov rdi, qword [r14 + 0x170]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14004514e
nop dword [rax]
lea rdx, [rbx + 0x10]
lea rcx, [rbp + 0x150]
call fcn.140015b50
movzx eax, byte [rbx + 0x30]
mov byte [rbp + 0x170], al
lea rdx, [0x14018f258]
lea rcx, [rsp + 0x50]
call fcn.140020670
lea rdx, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rdx, qword [rbp + 0x150]
mov r8, qword [rbp + 0x160]
mov rcx, rax
call fcn.140021340
lea rdx, [0x14018dfcc]
mov rcx, rax
call fcn.140020670
nop
mov rdx, qword [rbp + 0x168]
cmp rdx, 0xf
jbe 0x140045142
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004513d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045431
call fcn.14014d4dc
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x1400450a0
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
movdqa xmm1, xmmword [0x14018cc30]
movdqu xmmword [rbp + 0x160], xmm1
mov byte [rbp + 0x150], 0
mov ebx, 6
mov dword [rsp + 0x30], ebx
xor eax, eax
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rax
mov ecx, dword [rbp - 0x38]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x1400451b1
mov rax, qword [rbp - 0x68]
mov r8, qword [rax]
test r8, r8
je 0x1400451b1
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax]
cmp r8, qword [rbp - 0x40]
cmovb r8, qword [rbp - 0x40]
sub r8, rdx
jmp 0x1400451e3
test cl, 4
jne 0x1400451d9
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
test rcx, rcx
je 0x1400451d9
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax]
mov rax, qword [rbp - 0x58]
movsxd r8, dword [rax]
sub r8, rdx
add r8, rcx
jmp 0x1400451e3
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x1400451f5
lea rcx, [rbp + 0x150]
call fcn.14000fc70
nop
lea rdx, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rdx, qword [rbp + 0x150]
mov r8, qword [rbp + 0x160]
lea rcx, [rbp + 0x40]
call fcn.140021340
nop
mov rdx, qword [rbp + 0x168]
cmp rdx, 0xf
jbe 0x14004525e
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045259
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045437
call fcn.14014d4dc
lea rcx, [rbp + 0x48]
call fcn.14002a1f0
test rax, rax
jne 0x140045298
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
cmp qword [rbp + rcx + 0x88], 0
cmovne ebx, r13d
or ebx, dword [rbp + rcx + 0x50]
and ebx, 0x17
mov dword [rbp + rcx + 0x50], ebx
mov eax, dword [rbp + rcx + 0x54]
and eax, ebx
jne 0x14004538d
mov bl, 1
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rsp + rcx + 0x4c], edx
lea rcx, [rsp + 0x58]
call fcn.140022d20
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x50], r12
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x4c], edx
lea rdi, vtable.std::ios_base.0
mov qword [rbp - 0x28], rdi
lea rcx, [rbp - 0x28]
call fcn.14012a8a8
nop
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x40], rax
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x3c], edx
lea rcx, [rbp + 0x48]
call fcn.140022b90
mov rcx, qword [rbp + 0x40]
movsxd rdx, dword [rcx + 4]
mov qword [rbp + rdx + 0x40], r12
mov rcx, qword [rbp + 0x40]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0x10]
mov dword [rbp + rdx + 0x3c], r8d
mov qword [rbp + 0xe8], rdi
lea rcx, [rbp + 0xe8]
call fcn.14012a8a8
nop
movzx eax, bl
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.14014d830
mov rbx, qword [rsp + 0x360]
add rsp, 0x310
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test al, 4
je 0x14004539a
lea rbx, str.ios_base::badbit_set
jmp 0x1400453ae
test al, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x38]
call fcn.14002a8a0
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0x150]
call fcn.140022960
lea rdx, [0x1402ecd90]
lea rcx, [rbp + 0x150]
call fcn.14014e9f0
nop
call fcn.1401538c4
nop
call fcn.1401538c4
nop
call fcn.1401538c4
int3
call fcn.1401538c4
nop
call fcn.140006560
nop
call fcn.140006560
int3
call fcn.1401538c4
nop
call fcn.1401538c4
nop
call fcn.1401538c4
nop
call fcn.1400066f0
nop
call fcn.1400066f0
nop
call fcn.1401538c4
int3
call fcn.1401538c4
int3
call fcn.1401538c4
int3
call fcn.1401538c4
int3