Function at 0x14002dce0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [rcx + 0x40]
movzx edi, word [rax + rdx + 1]
mov r15, rcx
mov rbp, rdx
mov rsi, r8
cmp qword [rcx + 0x50], rdx
jbe 0x14002dd19
mov rax, qword [r8 + 0x20]
mov r8, qword [rax + rdx*8]
test r8, r8
jne 0x14002e0c0
lea r14, [rbp + 3]
test di, di
je 0x14002e010
mov r8, qword [r15 + 0x40]
mov rax, r14
xor r12d, r12d
xor ebx, ebx
xor r13d, r13d
xor ecx, ecx
jmp 0x14002dd66
cmp dl, 0x61
je 0x14002de50
cmp dl, 0x19
je 0x14002dd93
mov r9, rax
xor eax, eax
cmp dl, 0x1a
setne al
add ecx, 1
lea rax, [rax + r9 + 3]
cmp cx, di
je 0x14002dd9f
movzx edx, byte [r8 + rax]
cmp dl, 0x64
je 0x14002de64
cmp dl, 0x6a
jne 0x14002dd40
movzx edx, byte [r8 + rax + 1]
mov ebx, 1
lea rax, [rax + rdx + 2]
movzx edx, byte [r8 + rax]
cmp dl, 0x19
jne 0x14002dd4e
add ecx, 1
add rax, 2
cmp cx, di
jne 0x14002dd66
mov eax, r13d
or eax, ebx
mov dword [rsp + 0x2c], eax
jne 0x14002df70
xor ebx, ebx
jmp 0x14002de11
movzx r8d, byte [rdx + 2]
movzx eax, byte [rdx + 1]
movzx edx, byte [rdx]
mov r9d, r8d
shl eax, 8
shl r8d, 0x10
or eax, r8d
or eax, edx
mov edx, eax
or edx, 0xff000000
test r9b, r9b
cmovs eax, edx
cdqe
add rax, r14
add r14, 4
xor r8d, r8d
cmp qword [r15 + 0x50], rax
jbe 0x14002ddf5
mov rdx, qword [rsi + 0x20]
mov r8, qword [rdx + rax*8]
lea rdx, str._t_t_n_t_t_thb_stackPop____n_t_t_tgoto_lab_05I64u__n_t_t_n
add ebx, 1
call sym.fprintf
cmp di, bx
je 0x14002df40
mov r8, qword [r15 + 0x40]
movzx eax, byte [r8 + r14]
lea r13, [r14 + 1]
mov rcx, qword [rsi]
lea rdx, [r8 + r13]
cmp al, 0x64
je 0x14002df30
cmp al, 0x6a
je 0x14002dec0
cmp al, 0x61
je 0x14002de90
cmp al, 0x19
je 0x14002de80
cmp al, 0x1a
jne 0x14002ddb2
movsx rax, word [rdx]
add rax, r14
add r14, 3
jmp 0x14002dde4
add rax, 5
mov r13d, 1
movzx edx, byte [r8 + rax]
jmp 0x14002dd49
add rax, 1
mov r12d, 1
movzx edx, byte [r8 + rax]
jmp 0x14002dd49
movsx rax, byte [rdx]
add rax, r14
add r14, 2
jmp 0x14002dde4
mov r8d, dword [rdx]
lea rdx, str._t_tif____type__HB_IT_NUMINT_____0__lVal___ldL___n
call sym.fprintf
mov rdx, qword [r15 + 0x40]
mov rcx, qword [rsi]
movzx eax, byte [rdx + r14 + 5]
lea rdx, [rdx + r14 + 6]
add r14, 5
jmp 0x14002de35
movzx r8d, byte [rdx]
lea rdx, str._t_tif__pszText__nLen___d____memcmp__pszText_
sub r8d, 1
call sym.fprintf
mov rax, qword [r15 + 0x40]
mov rcx, qword [rsi]
movzx r8d, byte [rax + r13]
lea rdx, [rax + r14 + 2]
sub r8d, 1
movsxd r8, r8d
call sym.hb_compGenCString
mov rax, qword [r15 + 0x40]
mov rcx, qword [rsi]
lea rdx, str.___d_____n
movzx r8d, byte [rax + r13]
sub r8d, 1
call sym.fprintf
mov rdx, qword [r15 + 0x40]
mov rcx, qword [rsi]
movzx eax, byte [rdx + r13]
lea r14, [r14 + rax + 2]
movzx eax, byte [rdx + r14]
lea rdx, [rdx + r14 + 1]
jmp 0x14002de35
movzx eax, byte [rdx]
lea rdx, [r8 + r14 + 2]
mov r14, r13
jmp 0x14002de35
mov rbx, r14
sub rbx, rbp
test r12d, r12d
je 0x14002e01d
mov eax, dword [rsp + 0x2c]
test eax, eax
jne 0x14002dff0
mov rax, rbx
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r9, qword [rsi]
mov r8d, 0x27
mov edx, 1
lea rcx, str._t_n_t_tPHB_ITEM_pSwitch__n_t_tHB_TYPE_type__n
call sym.fwrite
mov r9, qword [rsi]
test ebx, ebx
jne 0x14002e040
mov r8d, 0xd
mov edx, 1
lea rcx, str._t_tlong_lVal__n
call sym.fwrite
mov r9, qword [rsi]
mov r8d, 0x4c
mov edx, 1
lea rcx, str._t_tif__hb_xvmSwitchGet__pSwitch_____break__n_t_ttype__hb_itemType__pSwitch____n
call sym.fwrite
mov r9, qword [rsi]
mov r8d, 0x41
mov edx, 1
lea rcx, str._t_tlVal____type__HB_IT_NUMINT_____hb_itemGetNL__pSwitch___:_0__n_n
call sym.fwrite
mov r8, qword [r15 + 0x40]
jmp 0x14002ddae
mov r9, qword [rsi]
mov r8d, 3
mov edx, 1
lea rcx, [0x1400b1401]
call sym.fwrite
jmp 0x14002df5b
mov dword [rsp + 0x2c], 0
mov ebx, 3
mov r9, qword [rsi]
mov r8d, 0x11
mov edx, 1
lea rcx, str._t_thb_stackPop____n
call sym.fwrite
jmp 0x14002df4f
mov r8d, 0x28
mov edx, 1
lea rcx, str._t_tconst_char__pszText__n_t_tHB_SIZE_nLen__n
call sym.fwrite
test r13d, r13d
jne 0x14002e0d4
mov r9, qword [rsi]
mov r8d, 0x4c
mov edx, 1
lea rcx, str._t_tif__hb_xvmSwitchGet__pSwitch_____break__n_t_ttype__hb_itemType__pSwitch____n
call sym.fwrite
mov r9, qword [rsi]
mov r8d, 0x48
mov edx, 1
lea rcx, str._t_tpszText____type__HB_IT_STRING_____hb_itemGetCPtr__pSwitch___:_NULL__n
call sym.fwrite
mov r9, qword [rsi]
mov r8d, 0x32
mov edx, 1
lea rcx, str._t_tnLen__pszText___hb_itemGetCLen__pSwitch___:_0__n
call sym.fwrite
mov dword [rsp + 0x2c], ebx
mov r8, qword [r15 + 0x40]
jmp 0x14002ddae
mov rcx, qword [rsi]
lea rdx, str.lab_05I64u:___n
call sym.fprintf
jmp 0x14002dd19
mov r9, qword [rsi]
mov r8d, 0xd
mov edx, 1
lea rcx, str._t_tlong_lVal__n
call sym.fwrite
mov r9, qword [rsi]
mov r8d, 0x4c
mov edx, 1
lea rcx, str._t_tif__hb_xvmSwitchGet__pSwitch_____break__n_t_ttype__hb_itemType__pSwitch____n
call sym.fwrite
mov r9, qword [rsi]
mov r8d, 0x48
mov edx, 1
lea rcx, str._t_tpszText____type__HB_IT_STRING_____hb_itemGetCPtr__pSwitch___:_NULL__n
call sym.fwrite
mov r9, qword [rsi]
mov r8d, 0x32
mov edx, 1
lea rcx, str._t_tnLen__pszText___hb_itemGetCLen__pSwitch___:_0__n
call sym.fwrite
jmp 0x14002dfc6