Function at 0x140040730
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r15
lea rbp, [rsp - 0x1d8]
sub rsp, 0x2d8
mov rax, qword [0x1400bfbc8]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov rax, qword [rbp + 0x230]
mov rdi, r9
mov qword [rsp + 0x40], rax
mov rsi, r8
xor eax, eax
mov r12, rdx
mov qword [rsp + 0x30], rax
mov r15, rcx
mov qword [rsp + 0x38], rax
mov ebx, eax
mov qword [rdx], rax
test r8, r8
je 0x140040baf
lea r8d, [rax + 0x2a]
lea rdx, [rbp - 0x80]
call fcn.140040f30
test eax, eax
jne 0x140040baf
lea rax, [rbp - 0x80]
test rdi, rdi
lea r9, str.Content_Type:_multipart_form_data
mov qword [rsp + 0x20], rax
cmovne r9, rdi
lea r8, str._s__boundary_s_r_n
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140041b10
test eax, eax
jne 0x140040baf
mov qword [rsp + 0x2d0], r13
mov r13, qword [rsp + 0x30]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x2c8], r14
nop dword [rax]
test rbx, rbx
je 0x140040815
lea r8, [0x1400be4ec]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140041b10
mov edi, eax
test eax, eax
jne 0x140040b93
lea r9, [rbp - 0x80]
lea r8, str.___s_r_n
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140041b10
mov edi, eax
test eax, eax
jne 0x140040b93
lea r8, str.Content_Disposition:_form_data__name_
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140041b10
mov edi, eax
test eax, eax
jne 0x140040b93
movsxd r9, dword [rsi + 0x10]
lea rax, [rsp + 0x38]
mov r8, qword [rsi + 8]
lea edx, [rdi + 1]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.140041950
mov edi, eax
test eax, eax
jne 0x140040b93
lea r8, [0x1400be514]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140041b10
mov edi, eax
test eax, eax
jne 0x140040b93
cmp qword [rsi + 0x48], 0
je 0x1400408e9
lea r8d, [rax + 0x2a]
mov rcx, r15
lea rdx, [rsp + 0x50]
call fcn.140040f30
mov edi, eax
test eax, eax
jne 0x140040b93
lea r9, [rsp + 0x50]
lea r8, str._r_nContent_Type:_multipart_mixed__boundary_s_r_n
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140041b10
mov edi, eax
test eax, eax
jne 0x140040b93
mov r14, rsi
nop dword [rax]
cmp qword [rsi + 0x48], 0
je 0x140040934
lea r9, [rsp + 0x50]
lea r8, str._r_n___s_r_nContent_Disposition:_attachment
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140041b10
mov edi, eax
test eax, eax
jne 0x140040b93
lea r8, [rsp + 0x38]
mov rcx, r14
lea rdx, [rsp + 0x30]
call fcn.140041bd0
mov edi, eax
test eax, eax
jmp 0x14004095c
mov eax, dword [rsi + 0x50]
test al, 0x51
je 0x140040962
cmp qword [rsi + 0x58], 0
jne 0x140040946
test al, 1
je 0x14004095a
lea r8, [rsp + 0x38]
mov rcx, rsi
lea rdx, [rsp + 0x30]
call fcn.140041bd0
mov edi, eax
test edi, edi
jne 0x140040b93
mov r9, qword [r14 + 0x38]
test r9, r9
je 0x14004098b
lea r8, str._r_nContent_Type:__s
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140041b10
mov edi, eax
test eax, eax
jne 0x140040b93
mov rbx, qword [r14 + 0x40]
test rbx, rbx
je 0x1400409ce
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rbx]
lea r8, str._r_n_s
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140041b10
mov edi, eax
test eax, eax
jne 0x140040b93
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x1400409a0
jmp 0x1400409d6
test edi, edi
jne 0x140040b93
lea r8, str._r_n_r_n
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140041b10
mov edi, eax
test eax, eax
jne 0x140040b93
mov eax, dword [rsi + 0x50]
test al, 3
jne 0x140040a73
test al, 0x10
je 0x140040a0b
movsxd r9, dword [rsi + 0x30]
mov r8, qword [rsi + 0x28]
jmp 0x140040a53
test al, 0x40
je 0x140040a41
test al, al
jns 0x140040a19
mov r9, qword [rsi + 0x68]
jmp 0x140040a1d
movsxd r9, dword [rsi + 0x20]
mov r8, qword [rsi + 0x60]
lea rax, [rsp + 0x38]
mov edx, 3
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x30]
call fcn.140041950
mov edi, eax
jmp 0x140040b82
test al, al
jns 0x140040a4b
mov r9, qword [rsi + 0x68]
jmp 0x140040a4f
movsxd r9, dword [rsi + 0x20]
mov r8, qword [rsi + 0x18]
mov edx, 2
lea rax, [rsp + 0x38]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.140041950
mov edi, eax
jmp 0x140040b82
mov r9, qword [r14 + 0x18]
lea rax, [0x1400be524]
mov r8, r9
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140040a97
inc rax
test ecx, ecx
jne 0x140040a84
test edx, edx
jne 0x140040aa4
xor ecx, ecx
call fcn.14005454c
jmp 0x140040ab3
lea rdx, [0x1400be53c]
mov rcx, r9
call fcn.14005c4a0
mov rbx, rax
test rax, rax
je 0x140040b5d
xor ecx, ecx
call fcn.14005454c
cmp rbx, rax
je 0x140040ae3
mov rcx, rbx
call fcn.1400546a0
mov r8, qword [r14 + 0x18]
xor r9d, r9d
lea edx, [r9 + 4]
jmp 0x140040a58
mov r9, rbx
lea rcx, [rbp - 0x50]
mov edx, 1
mov r8d, 0x200
call fcn.140060710
test rax, rax
je 0x140040b82
lea rcx, [rsp + 0x38]
mov r9, rax
mov qword [rsp + 0x20], rcx
lea r8, [rbp - 0x50]
lea rcx, [rsp + 0x30]
mov edx, 2
call fcn.140041950
mov edi, eax
test eax, eax
jne 0x140040b82
mov rcx, rbx
call fcn.140061d78
test eax, eax
jne 0x140040b82
mov rcx, rbx
call fcn.140061da4
test eax, eax
jne 0x140040b82
mov r9, rbx
lea edx, [rdi + 1]
mov r8d, 0x200
lea rcx, [rbp - 0x50]
call fcn.140060710
test rax, rax
jne 0x140040b03
jmp 0x140040b82
test r15, r15
je 0x140040b75
mov r8, qword [r14 + 0x18]
lea rdx, str.couldnt_open_file___s_
mov rcx, r15
call fcn.1400192a0
mov qword [r12], 0
mov edi, reloc.WLDAP32.dll_Ordinal_26
mov r14, qword [r14 + 0x48]
test r14, r14
je 0x140040bce
test edi, edi
je 0x1400408f0
lea rcx, [rsp + 0x48]
call fcn.140040d80
mov eax, edi
mov r13, qword [rsp + 0x2d0]
mov r14, qword [rsp + 0x2c8]
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.14004bcc0
add rsp, 0x2d8
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test edi, edi
jne 0x140040b93
cmp qword [rsi + 0x48], 0
je 0x140040bfa
lea r9, [rsp + 0x50]
lea r8, str._r_n___s__
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140041b10
mov edi, eax
test eax, eax
jne 0x140040b93
mov rsi, qword [rsi]
test rsi, rsi
je 0x140040c0c
mov rbx, qword [rsp + 0x38]
jmp 0x1400407f0
test edi, edi
jne 0x140040b93
lea r9, [rbp - 0x80]
lea r8, str._r_n___s___r_n
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140041b10
mov edi, eax
test eax, eax
jne 0x140040b93
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov qword [rcx], rax
xor eax, eax
mov qword [r12], r13
jmp 0x140040b9f