Function at 0x14002c8f0
Capabilities:
Write file on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rax, qword [rcx + 0x40]
mov ebp, dword [rax + rdx + 1]
mov rax, qword [rcx + 0x50]
mov rdi, rcx
mov rbx, rdx
mov rsi, r8
cmp rax, rdx
jbe 0x14002c923
mov rdx, qword [r8 + 0x20]
mov r8, qword [rdx + rbx*8]
test r8, r8
jne 0x14002c9e4
lea r9, [rbx + 5]
cmp r9, rax
jae 0x14002c9c0
mov rax, qword [rsi + 0x20]
cmp qword [rax + r9*8], 0
je 0x14002c9c0
mov r9, qword [rsi]
mov r8d, 0x19
mov edx, 1
lea rcx, str.if_INT_MAX___INT32_MAX_n
call sym.fwrite
mov rcx, qword [rsi]
mov r8d, ebp
lea rdx, str._thb_xvmPushInteger___ld____n
call sym.fprintf
mov r9, qword [rsi]
mov r8d, 6
mov edx, 1
lea rcx, str.else_n
call sym.fwrite
mov rcx, qword [rsi]
mov r8d, ebp
lea rdx, str._thb_xvmPushLong___ldL____n
call sym.fprintf
mov r9, qword [rsi]
mov r8d, 7
mov edx, 1
lea rcx, str.endif_n
call sym.fwrite
mov eax, 5
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rdx, qword [rdi + 0x40]
cmp byte [rdx + rbx + 5], 0x6e
ja case.0x14002c9e2.0
movzx eax, byte [rdx + rbx + 5]
lea rcx, [0x1400b0824]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rcx, qword [rsi]
lea rdx, str.lab_05I64u:___n
call sym.fprintf
mov rax, qword [rdi + 0x50]
jmp 0x14002c923
mov r9, qword [rsi]
test ebp, ebp
jle 0x14002c942
mov r8d, ebp
lea rdx, str._tif__hb_xvmArrayItemPush___ldL_____break__n
mov rcx, r9
call sym.fprintf
mov eax, 6
jmp 0x14002c9b6
mov rcx, qword [rsi]
mov r8d, ebp
lea rdx, str._thb_xvmRetInt___ldL____n
call sym.fprintf
mov eax, 6
jmp 0x14002c9b6
movsx r8d, byte [rdx + rbx + 6]
mov rcx, qword [rsi]
mov r9d, ebp
lea rdx, str._thb_xvmLocalSetInt___d___ldL____n
call sym.fprintf
mov eax, 7
jmp 0x14002c9b6
movsx r8d, word [rdx + rbx + 6]
mov rcx, qword [rsi]
mov r9d, ebp
lea rdx, str._thb_xvmLocalSetInt___d___ldL____n
call sym.fprintf
mov eax, 8
jmp 0x14002c9b6
mov r9, qword [rsi]
mov r8d, ebp
lea rdx, str._tif__hb_xvmAddInt___ldL_____break__n
mov rcx, r9
call sym.fprintf
mov eax, 6
jmp 0x14002c9b6
lea rax, str.NotEqual
nop word [rax + rax]
mov qword [rsp + 0x30], rax
lea rax, [rsi + 0x20]
lea r8, [rdi + 0x50]
mov ecx, ebp
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
call sym.hb_gencc_checkJumpCondAhead.isra.0
test eax, eax
je case.0x14002c9e2.0
add eax, 5
cdqe
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rcx, qword [rsi]
mov r8d, ebp
lea rdx, str._tif__hb_xvmMultByInt___ldL_____break__n
call sym.fprintf
mov eax, 6
jmp 0x14002c9b6
mov rcx, qword [rsi]
mov r8d, ebp
lea rdx, str._tif__hb_xvmModulusByInt___ldL_____break__n
call sym.fprintf
mov eax, 6
jmp 0x14002c9b6
mov r9, qword [rsi]
test ebp, ebp
jg 0x14002cbe0
cmp ebp, 0x80000000
je 0x14002c942
neg ebp
jmp 0x14002ca87
lea rax, str.LessThen
jmp 0x14002cab0
lea rax, str.LessEqualThen
jmp 0x14002cab0
mov rcx, qword [rsi]
mov r8d, ebp
lea rdx, str._tif__hb_xvmDivideByInt___ldL_____break__n
call sym.fprintf
mov eax, 6
jmp 0x14002c9b6
lea rax, str.GreaterEqualThen
jmp 0x14002cab0
lea rax, str.GreaterThen
jmp 0x14002cab0
lea rax, str.Equal
jmp 0x14002cab0
mov r9, qword [rsi]
test ebp, ebp
jle 0x14002c942
mov r8d, ebp
lea rdx, str._tif__hb_xvmArrayItemPop___ldL_____break__n
mov rcx, r9
call sym.fprintf
mov eax, 6
jmp 0x14002c9b6
mov r8d, ebp
lea rdx, str._tif__hb_xvmAddInt____ldL_____break__n
mov rcx, r9
call sym.fprintf
mov eax, 6
jmp 0x14002c9b6