Function at 0x140038850
Capabilities:
Write file on windows

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0xc0
lea rbp, [rsp + 0x80]
mov qword [rbp], 0xfffffffffffffffe
mov qword [rbp + 0x78], rbx
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x88], rdi
mov rax, qword [0x140324030]
xor rax, rbp
mov qword [rbp + 0x30], rax
mov rsi, rcx
add rcx, 0x12450
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rbp + 0x20]
call qword [sym.imp.mfc110u.dll_Ordinal_296]
nop
lea rdx, [rbp + 8]
lea rcx, [0x14034e310]
call fcn.14003a6e0
nop
lea r8, str.BufferPanelLoadInfo__d.dat
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.14003a710
nop
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rbp + 0x20]
call qword [sym.imp.mfc110u.dll_Ordinal_4595]
nop
lea rcx, [rbp + 0x10]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
nop
lea rcx, [rbp + 8]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
lea rdx, [0x140224a18]
lea rcx, [rbp + 0x28]
call qword [sym.imp.mfc110u.dll_Ordinal_286]
nop
lea rdx, [0x140224a18]
lea rcx, [rbp + 0x18]
call qword [sym.imp.mfc110u.dll_Ordinal_286]
nop
xor r13d, r13d
mov r12d, r13d
lea r14, [rsi + 0xf0]
movabs r9, 0xffffffffffffff0
test r12d, r12d
jne 0x140038aae
lea r8, [rsi + 0x12080]
test r8, r8
je 0x1400389bf
or rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [r8 + rcx], r13b
jne 0x140038950
inc ecx
cmp ecx, 0x3fffffff
jg 0x1400389bf
movsxd rax, ecx
add rax, rax
lea rdx, [rax + 0xf]
cmp rdx, rax
ja 0x140038975
mov rdx, r9
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.1401ea950
sub rsp, rdx
lea rdi, [rsp + 0x80]
test rdi, rdi
je 0x1400389bf
mov word [rdi], r13w
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rdi
or r9d, 0xffffffff
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
cmove rdi, r13
movabs r9, 0xffffffffffffff0
jmp 0x1400389c2
mov rdi, r13
lea r8, [rsi + 0x12296]
test r8, r8
je 0x140038a37
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], r13b
jne 0x1400389d2
inc ecx
cmp ecx, 0x3fffffff
jg 0x140038a37
movsxd rax, ecx
add rax, rax
lea rdx, [rax + 0xf]
cmp rdx, rax
ja 0x1400389f7
mov rdx, r9
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.1401ea950
sub rsp, rdx
lea rbx, [rsp + 0x80]
test rbx, rbx
je 0x140038a37
mov word [rbx], r13w
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rbx
or r9d, 0xffffffff
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
cmove rbx, r13
jmp 0x140038a3a
mov rbx, r13
movzx ecx, word [rsi + 0x12248]
movzx r9d, byte [rsi + 0x1224a]
mov qword [rsp + 0x70], rdi
mov rax, qword [rsi + 0x1223e]
mov qword [rsp + 0x68], rax
mov eax, dword [rsi + 0x1207c]
mov dword [rsp + 0x60], eax
mov eax, dword [rsi + 0x12074]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], ecx
mov eax, dword [rsi + 0x12260]
mov dword [rsp + 0x48], eax
mov eax, dword [rsi + 0x12254]
mov dword [rsp + 0x40], eax
mov eax, dword [rsi + 0x12250]
mov dword [rsp + 0x38], eax
mov rax, qword [rsi + 0x12427]
mov qword [rsp + 0x30], rax
mov eax, dword [rsi + 0x1224c]
mov r8, qword [rsi + 0x12236]
jmp 0x140038c2a
movsxd r15, r12d
imul r15, r15, reloc.mfc110u.dll_Ordinal_956
lea r8, [rsi + 0xf4]
add r8, r15
je 0x140038b3f
or rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [r8 + rcx], r13b
jne 0x140038ad0
inc ecx
cmp ecx, 0x3fffffff
jg 0x140038b3f
movsxd rax, ecx
add rax, rax
lea rdx, [rax + 0xf]
cmp rdx, rax
ja 0x140038af5
mov rdx, r9
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.1401ea950
sub rsp, rdx
lea rdi, [rsp + 0x80]
test rdi, rdi
je 0x140038b3f
mov word [rdi], r13w
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rdi
or r9d, 0xffffffff
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
cmove rdi, r13
movabs r9, 0xffffffffffffff0
jmp 0x140038b42
mov rdi, r13
lea r8, [rsi + 0x30a]
add r8, r15
je 0x140038bb7
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], r13b
jne 0x140038b52
inc ecx
cmp ecx, 0x3fffffff
jg 0x140038bb7
movsxd rax, ecx
add rax, rax
lea rdx, [rax + 0xf]
cmp rdx, rax
ja 0x140038b77
mov rdx, r9
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.1401ea950
sub rsp, rdx
lea rbx, [rsp + 0x80]
test rbx, rbx
je 0x140038bb7
mov word [rbx], r13w
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rbx
or r9d, 0xffffffff
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
cmove rbx, r13
jmp 0x140038bba
mov rbx, r13
movzx ecx, word [r14 + 0x1cc]
movzx r9d, byte [r14 + 0x1ce]
mov qword [rsp + 0x70], rdi
mov rax, qword [r14 + 0x1c2]
mov qword [rsp + 0x68], rax
mov eax, dword [r14]
mov dword [rsp + 0x60], eax
mov eax, dword [r14 - 8]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], ecx
mov eax, dword [r14 + 0x1e4]
mov dword [rsp + 0x48], eax
mov eax, dword [r14 + 0x1d8]
mov dword [rsp + 0x40], eax
mov eax, dword [r14 + reloc.mfc110u.dll_Ordinal_468]
mov dword [rsp + 0x38], eax
mov rax, qword [r15 + rsi + 0x49b]
mov qword [rsp + 0x30], rax
mov eax, dword [r14 + 0x1d0]
mov r8, qword [r14 + 0x1ba]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
lea rdx, str.PanelIndex__I64d___isGood__2d___Barcode__s___finalDecision__d___Msg__s___Rev1__d___Rev2__d___Rev5__d___slot__d___Lane__d___Active__d___InspResult__I64d___MachineUID__s_r_n
lea rcx, [rbp + 0x18]
call qword [sym.imp.mfc110u.dll_Ordinal_4595]
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x28]
call qword [sym.imp.mfc110u.dll_Ordinal_1658]
inc r12d
add r14, reloc.mfc110u.dll_Ordinal_956
cmp r12d, 0x4c
movabs r9, 0xffffffffffffff0
jl 0x140038932
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x10]
call qword [sym.imp.mfc110u.dll_Ordinal_306]
nop
mov rdx, qword [rbp + 0x28]
lea rcx, [rbp + 8]
call qword [sym.imp.mfc110u.dll_Ordinal_306]
nop
lea rdx, [0x14026a5b0]
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.MSVCR110.dll_fopen]
mov rdi, rax
test rax, rax
je 0x140038cd8
mov rcx, qword [rbp + 8]
movsxd rbx, dword [rcx - 0x10]
lea rcx, [rbp + 8]
call qword [sym.imp.mfc110u.dll_Ordinal_4831]
mov rcx, rax
mov r9, rdi
mov r8d, 1
mov rdx, rbx
call qword [sym.imp.MSVCR110.dll_fwrite]
mov rcx, rdi
call qword [sym.imp.MSVCR110.dll_fclose]
nop
lea rcx, [rbp + 8]
call qword [sym.imp.mfc110u.dll_Ordinal_1028]
nop
lea rcx, [rbp + 0x10]
call qword [sym.imp.mfc110u.dll_Ordinal_1028]
nop
lea rcx, [rbp + 0x18]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
nop
lea rcx, [rbp + 0x20]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
lea rcx, [rsi + 0x12440]
mov rax, qword [rcx]
call qword [rax + gethostname]
mov rcx, qword [rbp + 0x30]
xor rcx, rbp
call fcn.1401e3980
mov rbx, qword [rbp + 0x78]
mov rsi, qword [rbp + 0x80]
mov rdi, qword [rbp + 0x88]
lea rsp, [rbp + 0x40]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret