Function at 0x420db0
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x38
mov r8d, 5
mov r9, rcx
mov rbx, rcx
lea rcx, str.expr
mov rsi, rdx
mov edx, 1
call sub.msvcrt.dll_fwrite
lea rdx, [0x00520596]
mov r8, rsi
mov rcx, rbx
call sub.msvcrt.dll_fprintf
mov rdx, rbx
mov ecx, 0x20
call sub.msvcrt.dll_fputc
movzx r8d, byte [rsi + 0x18]
cmp r8b, 0x1c
ja case.0x420e16.4
lea rcx, [0x0052068c]
movzx edx, r8b
movsxd rax, dword [rcx + rdx*4]
add rax, rcx
jmp rax
lea r9, [rsi + 8]
lea rdx, str.logical_or
mov r8, rsi
mov rcx, rbx
call fcn.00421980
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, [rax + 0x30]
add rsp, 0x38
pop rbx
pop rsi
jmp sub.msvcrt.dll_fflush
lea r9, [rsi + 8]
lea rdx, str.logical_and
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea r9, [rsi + 8]
lea rdx, [0x0052063f]
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea r9, [rsi + 8]
lea rdx, [0x0052063c]
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea r9, [rsi + 8]
lea rdx, [0x00520639]
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea r9, [rsi + 8]
lea rdx, [0x00520636]
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea r9, [rsi + 8]
lea rdx, [0x00520633]
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea r9, [rsi + 8]
lea rdx, [0x00520630]
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
mov eax, dword [0x0058c8d8]
lea r9, [0x00520507]
lea rdx, str.subtract_n_s_
lea r8d, [rax + 1]
mov dword [0x0058c8d8], r8d
shl r8d, 2
mov rcx, rbx
call sub.msvcrt.dll_fprintf
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.00421250
mov r8d, dword [0x0058c8d8]
lea rdx, str.__n_s_
lea r9, [0x00520507]
mov rcx, rbx
shl r8d, 2
call sub.msvcrt.dll_fprintf
mov rdx, qword [rsi + 8]
mov rcx, rbx
call fcn.00421250
mov rdx, rbx
mov ecx, 0x3e
call sub.msvcrt.dll_fputc
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x420fce
mov r8d, dword [0x0058c8d8]
lea r9, [0x00520507]
lea rdx, str._n_s_lx
mov dword [rsp + 0x20], eax
mov rcx, rbx
shl r8d, 2
call sub.msvcrt.dll_fprintf
sub dword [0x0058c8d8], 1
jmp 0x420e36
mov eax, dword [0x0058c8d8]
lea r9, [0x00520507]
lea rdx, str.add_n_s_
lea r8d, [rax + 1]
mov dword [0x0058c8d8], r8d
shl r8d, 2
jmp 0x420f53
lea r9, [rsi + 8]
lea rdx, str.bit_and
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea r9, [rsi + 8]
lea rdx, str.bit_xor
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea r9, [rsi + 8]
lea rdx, str.bit_ior
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea r9, [rsi + 8]
lea rdx, str.rshift
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea r9, [rsi + 8]
lea rdx, str.lshift
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea r9, [rsi + 8]
lea rdx, str.modulus
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea r9, [rsi + 8]
lea rdx, str.divide
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea r9, [rsi + 8]
lea rdx, str.multiply
mov r8, rsi
mov rcx, rbx
call fcn.00421980
jmp 0x420e36
lea rcx, str.bit_not
mov r9, rbx
mov r8d, 7
mov edx, 1
call sub.msvcrt.dll_fwrite
jmp 0x420e36
lea rcx, str.uminus___
mov r9, rbx
mov r8d, 9
mov edx, 1
call sub.msvcrt.dll_fwrite
add dword [0x0058c8d8], 1
mov rdx, qword [rsi]
jmp 0x420f8b
lea rcx, [0x005205dc]
mov r9, rbx
mov r8d, 3
mov edx, 1
call sub.msvcrt.dll_fwrite
jmp 0x420e36
mov r8d, dword [rsi + 0x10]
lea rdx, str.register__d
mov rcx, rbx
call sub.msvcrt.dll_fprintf
jmp 0x420e36
mov eax, dword [0x0058c8d8]
lea r9, [0x00520507]
lea rdx, str.symbol_n_s_
mov rcx, rbx
lea r8d, [rax + 1]
mov dword [0x0058c8d8], r8d
shl r8d, 2
call sub.msvcrt.dll_fprintf
jmp 0x421151
mov r8d, dword [rsi + 0x10]
lea rdx, str.constant__lx
mov rcx, rbx
call sub.msvcrt.dll_fprintf
jmp 0x420e36
lea rcx, str.absent
mov r9, rbx
mov r8d, 6
mov edx, 1
call sub.msvcrt.dll_fwrite
jmp 0x420e36
lea rcx, str.illegal
mov r9, rbx
mov r8d, 7
mov edx, 1
call sub.msvcrt.dll_fwrite
jmp 0x420e36
lea rdx, str.unknown_opcode__d
mov rcx, rbx
call sub.msvcrt.dll_fprintf
jmp 0x420e36