Function at 0x1400d2b04
Capabilities:
Link many functions at runtime

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x3a0
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x14028b7c8]
xor rax, rsp
mov qword [rsp + 0x390], rax
mov rbx, rcx
lea rcx, str.HID.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbx + 0x1e8], rax
xor r12d, r12d
cmp rax, r12
je 0x1400d3ab7
lea rdx, str.HidD_GetHidGuid
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x468], rax
lea rdx, str.HidD_GetAttributes
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x470], rax
lea rdx, str.HidD_GetProductString
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x480], rax
lea rdx, str.HidD_GetManufacturerString
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x478], rax
lea rdx, str.HidD_GetIndexedString
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x488], rax
lea rdx, str.HidD_GetPreparsedData
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x490], rax
lea rdx, str.HidP_GetCaps
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x498], rax
lea rdx, str.HidD_FreePreparsedData
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x4a0], rax
lea rdx, str.HidD_GetFeature
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x4a8], rax
lea rdx, str.HidD_SetOutputReport
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x4b0], rax
lea rdx, str.HidP_GetValueCaps
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x4b8], rax
lea rdx, str.HidP_GetSpecificValueCaps
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x4c0], rax
lea rdx, str.HidP_GetData
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x4c8], rax
lea rdx, str.HidD_GetInputReport
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x4d0], rax
lea rdx, [0x1401eaec8]
mov rcx, qword [rbx + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x4d8], rax
cmp qword [rbx + 0x488], r12
je 0x1400d3ab7
cmp qword [rbx + 0x480], r12
je 0x1400d3ab7
cmp qword [rbx + 0x490], r12
je 0x1400d3ab7
cmp qword [rbx + 0x498], r12
je 0x1400d3ab7
cmp qword [rbx + 0x4c0], r12
je 0x1400d3ab7
cmp qword [rbx + 0x4a8], r12
je 0x1400d3ab7
cmp qword [rbx + 0x4c8], r12
je 0x1400d3ab7
cmp qword [rbx + 0x4a0], r12
je 0x1400d3ab7
cmp qword [rbx + 0x4d0], r12
je 0x1400d3ab7
cmp rax, r12
je 0x1400d3ab7
lea rcx, [rbx + 0x1f0]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
lea r8d, [r12 + 3]
mov dword [rsp + 0x20], r8d
xor r9d, r9d
mov edx, 0xc0000000
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r14, rax
or rdi, 0xffffffffffffffff
cmp rax, rdi
je 0x1400d3ab7
mov r13d, 0x100
mov r8d, r13d
lea rdx, [rsp + 0x190]
mov rcx, rax
call qword [rbx + 0x480]
lea r11, [rbx + 8]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r11
mov r9d, edi
lea r8, [rsp + 0x190]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rdx, [rsp + 0x48]
mov rcx, r14
call qword [rbx + 0x490]
cmp al, r12b
je 0x1400d3aae
lea rdx, [rbx + 0x400]
mov rcx, qword [rsp + 0x48]
call qword [rbx + 0x498]
mov esi, 0x110000
cmp eax, esi
jne 0x1400d3aa3
movzx ecx, word [rbx + 0x43c]
lea ebp, [rdi + 0x49]
mov rax, rbp
mul rcx
cmovo rax, rdi
mov rcx, rax
call fcn.14013f170
mov qword [rbx + 0x450], rax
movzx ecx, word [rbx + 0x43c]
mov word [rsp + 0x40], cx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea ecx, [rdi + 3]
call qword [rbx + 0x4c0]
movzx r11d, word [rbx + 0x436]
mov word [rsp + 0x40], r11w
mov rax, rbp
mul r11
cmovo rax, rdi
mov rcx, rax
call fcn.14013f170
mov qword [rbx + 0x448], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea ecx, [rdi + 2]
call qword [rbx + 0x4c0]
movzx eax, word [rbx + 0x438]
cmp ax, r12w
jbe 0x1400d2f01
movzx ecx, ax
call fcn.14013f170
mov qword [rbx + 0x458], rax
movzx r8d, word [rbx + 0x438]
xor edx, edx
mov rcx, rax
call fcn.140158a90
movzx ecx, word [rbx + 0x430]
mov rax, rbp
mul rcx
cmovo rax, rdi
mov rcx, rax
call fcn.14013f170
mov qword [rbx + 0x440], rax
movzx ecx, word [rbx + 0x430]
mov word [rsp + 0x40], cx
mov r15d, r12d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
xor ecx, ecx
call qword [rbx + 0x4c0]
cmp eax, esi
jne 0x1400d3aa3
mov dword [rsp + 0x58], r12d
mov rax, r12
mov qword [rsp + 0x78], rax
cmp r12w, word [rsp + 0x40]
jae 0x1400d3aa3
lea rdi, [rax + rax*8]
mov rsi, qword [rbx + 0x440]
movzx eax, word [rsi + rdi*8]
cmp ax, 0xa
jne 0x1400d2f9b
mov ax, word [rsi + rdi*8 + 0xa]
movzx edx, word [rsi + rdi*8 + 8]
jmp 0x1400d2fa0
mov dx, word [rsi + rdi*8 + 0x38]
movzx ecx, ax
sub ecx, 0xc
je 0x1400d392c
sub ecx, 0x78
je 0x1400d3165
cmp ecx, 0xff5a
jne 0x1400d3a7f
movzx eax, dx
cmp eax, 0x22
je 0x1400d30e7
cmp eax, 0x3f
jle 0x1400d3a7f
cmp eax, 0x41
jle 0x1400d3a7f
cmp eax, 0x42
je 0x1400d3069
cmp eax, 0x43
jne 0x1400d3a7f
mov ecx, 0x170
call fcn.14013f12c
mov qword [rsp + 0x50], rax
cmp rax, r12
je 0x1400d3017
movzx edx, word [rsi + rdi*8 + 0x44]
mov rcx, rax
call fcn.140071204
mov rbp, rax
jmp 0x1400d301a
mov rbp, r12
movzx eax, word [rsi + rdi*8 + 0x3c]
cmp eax, dword [rbx + 0x3f0]
jge 0x1400d3040
mov r8, qword [rbx + 0x3f8]
lea rcx, [rbp + 8]
mov r8, qword [r8 + rax*8]
mov rdx, r13
call fcn.140044464
jmp 0x1400d3059
movzx r9d, word [rsi + rdi*8 + 0x44]
lea rcx, [rbp + 8]
lea r8, str.WATER_LVL__d
mov rdx, r13
call fcn.140044464
mov rdx, rbp
mov rcx, rbx
call fcn.14007f140
jmp 0x1400d3a7f
mov ecx, 0x178
call fcn.14013f12c
mov qword [rsp + 0x50], rax
cmp rax, r12
je 0x1400d308f
movzx edx, word [rsi + rdi*8 + 0x44]
mov rcx, rax
call fcn.140070cbc
mov rbp, rax
jmp 0x1400d3092
mov rbp, r12
movzx eax, word [rsi + rdi*8 + 0x3c]
cmp eax, dword [rbx + 0x3f0]
jge 0x1400d30b8
mov r8, qword [rbx + 0x3f8]
lea rcx, [rbp + 8]
mov r8, qword [r8 + rax*8]
mov rdx, r13
call fcn.140044464
jmp 0x1400d30d1
movzx r9d, word [rsi + rdi*8 + 0x44]
lea rcx, [rbp + 8]
lea r8, str.FAN_PWM__d
mov rdx, r13
call fcn.140044464
mov rdx, rbp
mov rcx, rbx
call fcn.14007f140
mov r15d, 0x42
jmp 0x1400d3a7f
mov ecx, 0x170
call fcn.14013f12c
mov qword [rsp + 0x50], rax
cmp rax, r12
je 0x1400d310d
movzx edx, word [rsi + rdi*8 + 0x44]
mov rcx, rax
call fcn.140070f64
mov rbp, rax
jmp 0x1400d3110
mov rbp, r12
movzx eax, word [rsi + rdi*8 + 0x3c]
cmp eax, dword [rbx + 0x3f0]
jge 0x1400d3136
mov r8, qword [rbx + 0x3f8]
lea rcx, [rbp + 8]
mov r8, qword [r8 + rax*8]
mov rdx, r13
call fcn.140044464
jmp 0x1400d314f
movzx r9d, word [rsi + rdi*8 + 0x44]
lea rcx, [rbp + 8]
lea r8, str.PUMP_PWM__d
mov rdx, r13
call fcn.140044464
mov rdx, rbp
mov rcx, rbx
call fcn.14007f140
mov r15d, 0x22
jmp 0x1400d3a7f
movzx ecx, dx
sub ecx, 0x30
je 0x1400d38a9
sub ecx, 1
je 0x1400d37b3
cmp ecx, 5
jne 0x1400d3a7f
cmp byte [rsi + rdi*8 + 0xc], r12b
jne 0x1400d3a7f
mov ecx, 0x178
call fcn.14013f12c
mov qword [rsp + 0x50], rax
cmp rax, r12
je 0x1400d31b4
movzx edx, word [rsi + rdi*8 + 0x44]
mov rcx, rax
call fcn.14006fdd0
mov r13, rax
jmp 0x1400d31b7
mov r13, r12
movzx eax, word [rsi + rdi*8 + 0x3c]
cmp eax, dword [rbx + 0x3f0]
jge 0x1400d31df
mov r8, qword [rbx + 0x3f8]
lea rcx, [r13 + 8]
mov r8, qword [r8 + rax*8]
mov edx, 0x100
call fcn.140044464
jmp 0x1400d31fa
movzx r9d, word [rsi + rdi*8 + 0x44]
lea rcx, [r13 + 8]
lea r8, str.TMPIN_d
mov edx, 0x100
call fcn.140044464
mov rdx, r13
mov rcx, rbx
call fcn.14007f140
mov ecx, 0x18
call fcn.14013f12c
mov r12, rax
test rax, rax
je 0x1400d3230
lea rax, vtable.CTList_class_CTemperaturePoint_.0
mov qword [r12], rax
and qword [r12 + 8], 0
and dword [r12 + 0x10], 0
jmp 0x1400d3233
xor r12d, r12d
movzx r8d, word [rsi + rdi*8 + 0x38]
mov edx, 0xffde
mov r9d, 0x4b
mov rcx, rbx
call fcn.1400d1fcc
mov rbp, rax
test rax, rax
je 0x1400d331a
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x90]
call fcn.140158a90
mov r11b, byte [rbp + 2]
mov byte [rsp + 0x90], r11b
movzx r8d, word [rbx + 0x408]
lea rdx, [rsp + 0x90]
mov rcx, r14
call qword [rbx + 0x4a8]
test al, al
je 0x1400d331a
movzx eax, word [rbx + 0x408]
mov edx, 0xffde
mov r9d, 0x4b
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x20], rax
movzx r8d, word [rbp + 6]
lea ecx, [r9 - 0x49]
call qword [rbx + 0x4d8]
cmp eax, 0x110000
jne 0x1400d331a
mov ecx, 0x10
call fcn.14013f12c
mov rdx, rax
test rax, rax
je 0x1400d3310
mov eax, dword [rsp + 0x6c]
lea rcx, vtable.CTemperaturePoint.0
mov qword [rdx], rcx
and dword [rdx + 8], 0
mov dword [rdx + 0xc], eax
jmp 0x1400d3312
xor edx, edx
mov rcx, r12
call fcn.1400d2664
movzx r8d, word [rsi + rdi*8 + 0x38]
mov edx, 0xffde
mov r9d, 0x4c
mov rcx, rbx
call fcn.1400d1fcc
mov rbp, rax
test rax, rax
je 0x1400d3404
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x90]
call fcn.140158a90
mov r11b, byte [rbp + 2]
mov byte [rsp + 0x90], r11b
movzx r8d, word [rbx + 0x408]
lea rdx, [rsp + 0x90]
mov rcx, r14
call qword [rbx + 0x4a8]
test al, al
je 0x1400d3404
movzx eax, word [rbx + 0x408]
mov edx, 0xffde
mov r9d, 0x4c
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
movzx r8d, word [rbp + 6]
lea ecx, [r9 - 0x4a]
call qword [rbx + 0x4d8]
cmp eax, 0x110000
jne 0x1400d3404
mov ecx, 0x10
call fcn.14013f12c
mov rdx, rax
test rax, rax
je 0x1400d33fa
mov eax, dword [rsp + 0x68]
lea rcx, vtable.CTemperaturePoint.0
mov qword [rdx], rcx
mov dword [rdx + 8], 0x41c80000
mov dword [rdx + 0xc], eax
jmp 0x1400d33fc
xor edx, edx
mov rcx, r12
call fcn.1400d2664
movzx r8d, word [rsi + rdi*8 + 0x38]
mov edx, 0xffde
mov r9d, 0x4d
mov rcx, rbx
call fcn.1400d1fcc
mov rbp, rax
test rax, rax
je 0x1400d34ee
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x90]
call fcn.140158a90
mov r11b, byte [rbp + 2]
mov byte [rsp + 0x90], r11b
movzx r8d, word [rbx + 0x408]
lea rdx, [rsp + 0x90]
mov rcx, r14
call qword [rbx + 0x4a8]
test al, al
je 0x1400d34ee
movzx eax, word [rbx + 0x408]
mov edx, 0xffde
mov r9d, 0x4d
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x64]
mov qword [rsp + 0x20], rax
movzx r8d, word [rbp + 6]
lea ecx, [r9 - 0x4b]
call qword [rbx + 0x4d8]
cmp eax, 0x110000
jne 0x1400d34ee
mov ecx, 0x10
call fcn.14013f12c
mov rdx, rax
test rax, rax
je 0x1400d34e4
mov eax, dword [rsp + 0x64]
lea rcx, vtable.CTemperaturePoint.0
mov qword [rdx], rcx
mov dword [rdx + 8], 0x42480000
mov dword [rdx + 0xc], eax
jmp 0x1400d34e6
xor edx, edx
mov rcx, r12
call fcn.1400d2664
movzx r8d, word [rsi + rdi*8 + 0x38]
mov edx, 0xffde
mov r9d, 0x4e
mov rcx, rbx
call fcn.1400d1fcc
mov rbp, rax
test rax, rax
je 0x1400d35d8
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x90]
call fcn.140158a90
mov r11b, byte [rbp + 2]
mov byte [rsp + 0x90], r11b
movzx r8d, word [rbx + 0x408]
lea rdx, [rsp + 0x90]
mov rcx, r14
call qword [rbx + 0x4a8]
test al, al
je 0x1400d35d8
movzx eax, word [rbx + 0x408]
mov edx, 0xffde
mov r9d, 0x4e
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
movzx r8d, word [rbp + 6]
lea ecx, [r9 - 0x4c]
call qword [rbx + 0x4d8]
cmp eax, 0x110000
jne 0x1400d35d8
mov ecx, 0x10
call fcn.14013f12c
mov rdx, rax
test rax, rax
je 0x1400d35ce
mov eax, dword [rsp + 0x70]
lea rcx, vtable.CTemperaturePoint.0
mov qword [rdx], rcx
mov dword [rdx + 8], 0x42960000
mov dword [rdx + 0xc], eax
jmp 0x1400d35d0
xor edx, edx
mov rcx, r12
call fcn.1400d2664
movzx r8d, word [rsi + rdi*8 + 0x38]
mov edx, 0xffde
mov r9d, 0x4f
mov rcx, rbx
call fcn.1400d1fcc
mov rbp, rax
test rax, rax
je 0x1400d36c2
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x90]
call fcn.140158a90
mov r11b, byte [rbp + 2]
mov byte [rsp + 0x90], r11b
movzx r8d, word [rbx + 0x408]
lea rdx, [rsp + 0x90]
mov rcx, r14
call qword [rbx + 0x4a8]
test al, al
je 0x1400d36c2
movzx eax, word [rbx + 0x408]
mov edx, 0xffde
mov r9d, 0x4f
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x20], rax
movzx r8d, word [rbp + 6]
lea ecx, [r9 - 0x4d]
call qword [rbx + 0x4d8]
cmp eax, 0x110000
jne 0x1400d36c2
mov ecx, 0x10
call fcn.14013f12c
mov rdx, rax
test rax, rax
je 0x1400d36b8
mov eax, dword [rsp + 0x5c]
lea rcx, vtable.CTemperaturePoint.0
mov qword [rdx], rcx
mov dword [rdx + 8], 0x42c80000
mov dword [rdx + 0xc], eax
jmp 0x1400d36ba
xor edx, edx
mov rcx, r12
call fcn.1400d2664
cmp dword [r12 + 0x10], 0
jle 0x1400d370c
mov ecx, 0x28
call fcn.14013f12c
mov rbp, rax
test rax, rax
je 0x1400d3705
lea rax, vtable.ESATemperatureSensor.0
mov qword [rbp], rax
mov qword [rbp + 8], r13
mov qword [rbp + 0x10], r12
mov eax, 0xbf800000
mov dword [rbp + 0x18], eax
mov dword [rbp + 0x1c], eax
mov dword [rbp + 0x20], eax
mov dword [rbp + 0x24], eax
jmp 0x1400d3796
xor ebp, ebp
jmp 0x1400d3796
mov ecx, 0x28
call fcn.14013f12c
mov rbp, rax
test rax, rax
je 0x1400d3745
lea rax, vtable.ESATemperatureSensor.0
mov qword [rbp], rax
mov qword [rbp + 8], r13
and qword [rbp + 0x10], 0
mov eax, 0xbf800000
mov dword [rbp + 0x18], eax
mov dword [rbp + 0x1c], eax
mov dword [rbp + 0x20], eax
mov dword [rbp + 0x24], eax
jmp 0x1400d3747
xor ebp, ebp
movd xmm0, dword [rsi + rdi*8 + 0x28]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x18], xmm0
movd xmm1, dword [rsi + rdi*8 + 0x2c]
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0x1c], xmm1
movd xmm0, dword [rsi + rdi*8 + 0x30]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x20], xmm0
movd xmm1, dword [rsi + rdi*8 + 0x34]
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0x24], xmm1
mov rcx, r12
call fcn.14004cfb4
mov r11, qword [r12]
mov edx, 1
mov rcx, r12
call qword [r11]
mov rdx, rbp
mov rcx, qword [rbx + 0x460]
call fcn.1400d26f4
xor r12d, r12d
mov r13d, 0x100
jmp 0x1400d3a7f
cmp byte [rsi + rdi*8 + 0xc], r12b
jne 0x1400d3a7f
mov ecx, 0x170
call fcn.14013f12c
mov qword [rsp + 0x50], rax
cmp rax, r12
je 0x1400d37e4
movzx edx, word [rsi + rdi*8 + 0x44]
mov rcx, rax
call fcn.1400703d8
mov rbp, rax
jmp 0x1400d37e7
mov rbp, r12
movzx eax, word [rsi + rdi*8 + 0x3c]
cmp eax, dword [rbx + 0x3f0]
jge 0x1400d380d
mov r8, qword [rbx + 0x3f8]
lea rcx, [rbp + 8]
mov r8, qword [r8 + rax*8]
mov rdx, r13
call fcn.140044464
jmp 0x1400d3826
movzx r9d, word [rsi + rdi*8 + 0x44]
lea rcx, [rbp + 8]
lea r8, str.CIN_d
mov rdx, r13
call fcn.140044464
mov rdx, rbp
mov rcx, rbx
call fcn.14007f140
mov ecx, 0x190
call fcn.14013f12c
mov qword [rsp + 0x50], rax
cmp rax, r12
je 0x1400d3857
movzx edx, word [rsi + rdi*8 + 0x38]
mov rcx, rax
call fcn.1400706ac
mov rbp, rax
jmp 0x1400d385a
mov rbp, r12
movzx eax, word [rsi + rdi*8 + 0x3c]
cmp eax, dword [rbx + 0x3f0]
jge 0x1400d3880
mov r8, qword [rbx + 0x3f8]
lea rcx, [rbp + 8]
mov r8, qword [r8 + rax*8]
mov rdx, r13
call fcn.140044464
jmp 0x1400d3899
movzx r9d, word [rsi + rdi*8 + 0x44]
lea rcx, [rbp + 8]
lea r8, str.POWIN_d
mov rdx, r13
call fcn.140044464
mov rdx, rbp
mov rcx, rbx
call fcn.14007f140
jmp 0x1400d3a7f
cmp byte [rsi + rdi*8 + 0xc], r12b
jne 0x1400d3a7f
mov ecx, 0x170
call fcn.14013f12c
mov qword [rsp + 0x50], rax
cmp rax, r12
je 0x1400d38da
movzx edx, word [rsi + rdi*8 + 0x44]
mov rcx, rax
call fcn.14006faac
mov rbp, rax
jmp 0x1400d38dd
mov rbp, r12
movzx eax, word [rsi + rdi*8 + 0x3c]
cmp eax, dword [rbx + 0x3f0]
jge 0x1400d3903
mov r8, qword [rbx + 0x3f8]
lea rcx, [rbp + 8]
mov r8, qword [r8 + rax*8]
mov rdx, r13
call fcn.140044464
jmp 0x1400d391c
movzx r9d, word [rsi + rdi*8 + 0x44]
lea rcx, [rbp + 8]
lea r8, str.VIN_d
mov rdx, r13
call fcn.140044464
mov rdx, rbp
mov rcx, rbx
call fcn.14007f140
jmp 0x1400d3a7f
mov eax, 0x101
cmp dx, ax
jne 0x1400d3a7f
cmp byte [rsi + rdi*8 + 0xc], r12b
jne 0x1400d3a7f
lea ecx, [rax + 0x77]
call fcn.14013f12c
mov qword [rsp + 0x50], rax
cmp rax, r12
je 0x1400d3969
movzx edx, word [rsi + rdi*8 + 0x44]
mov rcx, rax
call fcn.1400700f4
mov rbp, rax
jmp 0x1400d396c
mov rbp, r12
movzx eax, word [rsi + rdi*8 + 0x3c]
cmp eax, dword [rbx + 0x3f0]
jge 0x1400d3992
mov r8, qword [rbx + 0x3f8]
lea rcx, [rbp + 8]
mov r8, qword [r8 + rax*8]
mov rdx, r13
call fcn.140044464
jmp 0x1400d39ab
movzx r9d, word [rsi + rdi*8 + 0x44]
lea rcx, [rbp + 8]
lea r8, str.FANIN_d
mov rdx, r13
call fcn.140044464
mov rdx, rbp
mov rcx, rbx
call fcn.14007f140
movzx r8d, word [rsi + rdi*8 + 8]
cmp r8d, r12d
jne 0x1400d39c8
cmp r15d, r12d
cmovne r8d, r15d
mov dword [rbp + 0x170], 1
mov edx, 1
lea r9d, [rdx + 0x47]
mov rcx, rbx
call fcn.1400d1fcc
mov rdi, rax
cmp rax, r12
je 0x1400d3a7f
mov r8, r13
xor edx, edx
lea rcx, [rsp + 0x90]
call fcn.140158a90
mov r11b, byte [rdi + 2]
mov byte [rsp + 0x90], r11b
movzx r8d, word [rbx + 0x408]
lea rdx, [rsp + 0x90]
mov rcx, r14
call qword [rbx + 0x4a8]
cmp al, r12b
je 0x1400d3a7f
movzx eax, word [rbx + 0x408]
mov edx, 1
lea r9d, [rdx + 0x47]
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
movzx r8d, word [rdi + 6]
lea ecx, [rdx + 1]
call qword [rbx + 0x4d8]
cmp eax, 0x110000
jne 0x1400d3a7f
mov eax, dword [rsp + 0x60]
mov dword [rbp + 0x170], eax
mov edx, dword [rsp + 0x58]
inc edx
mov dword [rsp + 0x58], edx
mov rax, qword [rsp + 0x78]
inc rax
mov qword [rsp + 0x78], rax
movzx ecx, word [rsp + 0x40]
cmp edx, ecx
jl 0x1400d2f7a
mov rcx, qword [rsp + 0x48]
call qword [rbx + 0x4a0]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
mov rcx, qword [rsp + 0x390]
xor rcx, rsp
call fcn.140156fd0
lea r11, [rsp + 0x3a0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret