Function at 0x83b080
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov rbp, qword [rsp + 0xf8]
mov r15d, r8d
movsxd rax, edx
mov r13, rcx
mov dword [rsp + 0xd8], edx
and r15d, 7
mov word [rsp + 0x5a], r9w
lea r12, [rcx + rax]
cmp r15d, 2
je 0x83b5d0
cmp r15d, 4
jne 0x83b0d2
and edx, 3
jne 0x83b6a9
xor esi, esi
cmp r13, r12
je 0x83b258
mov eax, r9d
and r8d, 8
xor esi, esi
mov qword [rsp + 0x30], r12
and eax, 1
mov dword [rsp + 0x3c], r8d
mov word [rsp + 0x58], ax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x48], rax
mov eax, esi
mov rsi, r13
mov r14d, eax
movzx edi, word [rsp + 0x58]
mov eax, 0
shl edi, 5
cmp r13, rsi
cmovne edi, eax
cmp r15d, 1
je 0x83b490
jle 0x83b270
cmp r15d, 2
je 0x83b4a2
cmp r15d, 4
jne 0x83b253
mov r9d, dword [rsi]
add rsi, 4
bswap r9d
mov dword [rsp + 0x68], r9d
cmp qword [rsp + 0x30], rsi
je 0x83b2a9
mov eax, dword [rsp + 0x3c]
test eax, eax
jne 0x83b2c3
cmp r9d, 0xffff
ja 0x83b4c0
cmp r9d, 0xff
ja 0x83b580
or di, word [rsp + 0x5a]
mov byte [rsp + 0x6f], r9b
mov eax, edi
and eax, 4
test r9b, r9b
js 0x83b524
movsxd rax, r9d
lea rdx, [0x00d5bbc0]
movzx ecx, word [rdx + rax*2]
and ecx, edi
mov eax, ecx
test al, 0x61
je 0x83b520
test al, 8
jne 0x83b212
test rbp, rbp
je 0x83b1fa
mov r9, rbp
mov r8d, 1
mov edx, 1
lea rcx, [0x00d5bb36]
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x83b253
lea rcx, [rsp + 0x6f]
mov r9, rbp
mov r8d, 1
mov edx, 1
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x83b253
mov eax, 2
add r14d, eax
cmp qword [rsp + 0x30], rsi
jne 0x83b10a
mov esi, r14d
jmp 0x83b258
cmp qword [rsp + 0xf0], 0
je 0x83b228
mov rax, qword [rsp + 0xf0]
mov byte [rax], 1
test rbp, rbp
je 0x83b574
lea rcx, [rsp + 0x6f]
mov r9, rbp
mov r8d, 1
mov edx, 1
call sub.msvcrt.dll_fwrite
cmp rax, 1
je 0x83b574
mov esi, 0xffffffff
mov eax, esi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r15d, r15d
jne 0x83b253
mov r8, qword [rsp + 0x48]
mov edx, dword [rsp + 0xd8]
mov rcx, rsi
call fcn.008422e0
test eax, eax
js 0x83b253
sub dword [rsp + 0xd8], eax
cdqe
mov r9d, dword [rsp + 0x68]
add rsi, rax
cmp qword [rsp + 0x30], rsi
jne 0x83b15b
mov eax, 0x40
cmp word [rsp + 0x58], 0
cmovne edi, eax
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x83b167
lea rbx, [rsp + 0x6f]
mov r8d, r9d
mov edx, 6
mov rcx, rbx
call fcn.008425f0
test eax, eax
jle 0x83b202
or di, word [rsp + 0x5a]
sub eax, 1
mov qword [rsp + 0xf8], rbp
mov ebp, r14d
mov ecx, edi
mov edx, edi
lea r12, [rbx + rax + 1]
mov r14, r13
lea rax, [rsp + 0x67]
and cx, 0x40f
and edx, 4
mov r13, rsi
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x75]
mov rsi, qword [rsp + 0xf8]
mov word [rsp + 0x5e], cx
mov word [rsp + 0x5c], dx
mov qword [rsp + 0x50], rax
movzx eax, byte [rbx]
mov byte [rsp + 0x67], al
test al, al
js 0x83b3e1
movzx edx, al
lea r10, [0x00d5bbc0]
movzx ecx, word [r10 + rdx*2]
mov r9, rdx
and ecx, edi
mov edx, ecx
test cl, 0x61
je 0x83b610
and edx, 8
je 0x83b434
cmp qword [rsp + 0xf0], 0
je 0x83b37d
mov rax, qword [rsp + 0xf0]
mov byte [rax], 1
test rsi, rsi
je 0x83b3a4
mov rcx, qword [rsp + 0x40]
mov r9, rsi
mov r8d, 1
mov edx, 1
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x83b253
mov eax, 1
add rbx, 1
add ebp, eax
cmp r12, rbx
jne 0x83b330
mov qword [rsp + 0xf8], rsi
mov rsi, r13
mov r13, r14
mov r14d, ebp
mov rbp, qword [rsp + 0xf8]
cmp qword [rsp + 0x30], rsi
jne 0x83b10a
jmp 0x83b20d
cmp word [rsp + 0x5c], 0
movzx r9d, al
je 0x83b37d
mov rcx, qword [rsp + 0x50]
lea r8, [0x00d5bb38]
mov edx, 0xb
call fcn.0074af70
test rsi, rsi
je 0x83b42a
mov rcx, qword [rsp + 0x50]
mov r9, rsi
mov r8d, 3
mov edx, 1
call sub.msvcrt.dll_fwrite
cmp rax, 3
jne 0x83b253
mov eax, 3
jmp 0x83b3a9
test rsi, rsi
je 0x83b47f
mov r9, rsi
mov r8d, 1
mov edx, 1
lea rcx, [0x00d5bb36]
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x83b253
mov rcx, qword [rsp + 0x40]
mov r9, rsi
mov r8d, 1
mov edx, 1
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x83b253
mov eax, 2
jmp 0x83b3a9
movzx r9d, byte [rsi]
add rsi, 1
mov dword [rsp + 0x68], r9d
jmp 0x83b150
movzx r9d, word [rsi]
add rsi, 2
rol r9w, 8
movzx r9d, r9w
mov dword [rsp + 0x68], r9d
jmp 0x83b150
lea rbx, [rsp + 0x75]
lea r8, str.W_08lX
mov edx, 0xb
mov rcx, rbx
call fcn.0074af70
test rbp, rbp
je 0x83b4fe
mov r9, rbp
mov r8d, 0xa
mov edx, 1
mov rcx, rbx
call sub.msvcrt.dll_fwrite
cmp rax, 0xa
jne 0x83b253
mov eax, 0xa
add r14d, eax
cmp qword [rsp + 0x30], rsi
jne 0x83b10a
jmp 0x83b20d
and ax, 0x406
test ax, ax
jne 0x83b661
cmp r9d, 0x5c
jne 0x83b228
test di, 0x40f
je 0x83b228
test rbp, rbp
je 0x83b1fa
mov r9, rbp
mov r8d, 2
mov edx, 1
lea rcx, [0x00d5bb3e]
call sub.msvcrt.dll_fwrite
cmp rax, 2
jne 0x83b253
jmp 0x83b1fa
mov eax, 1
jmp 0x83b503
lea rbx, [rsp + 0x75]
lea r8, str.U_04lX
mov edx, 0xb
mov rcx, rbx
call fcn.0074af70
test rbp, rbp
je 0x83b5be
mov r9, rbp
mov r8d, 6
mov edx, 1
mov rcx, rbx
call sub.msvcrt.dll_fwrite
cmp rax, 6
jne 0x83b253
mov eax, 6
jmp 0x83b503
test byte [rsp + 0xd8], 1
je 0x83b0d2
mov r8d, 0x81
mov edx, 0x8e
mov ecx, 0xd
mov dword [rsp + 0x20], 0xa1
lea r9, str.crypto_asn1_a_strex.c
mov esi, 0xffffffff
call fcn.00780b20
jmp 0x83b258
test cx, 0x406
jne 0x83b3ed
cmp al, 0x5c
jne 0x83b37d
cmp word [rsp + 0x5e], 0
je 0x83b37d
test rsi, rsi
je 0x83b47f
mov r9, rsi
mov r8d, 2
mov edx, 1
lea rcx, [0x00d5bb3e]
call sub.msvcrt.dll_fwrite
cmp rax, 2
jne 0x83b253
jmp 0x83b47f
lea rbx, [rsp + 0x75]
lea r8, [0x00d5bb38]
mov edx, 0xb
mov rcx, rbx
call fcn.0074af70
test rbp, rbp
je 0x83b69f
mov r9, rbp
mov r8d, 3
mov edx, 1
mov rcx, rbx
call sub.msvcrt.dll_fwrite
cmp rax, 3
jne 0x83b253
mov eax, 3
jmp 0x83b503
mov r8d, 0x85
mov edx, 0x8e
mov ecx, 0xd
mov dword [rsp + 0x20], 0x9b
lea r9, str.crypto_asn1_a_strex.c
mov esi, 0xffffffff
call fcn.00780b20
jmp 0x83b258