Function at 0x180054a90
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x180]
sub rsp, 0x280
mov rax, qword [0x1800b80b8]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov rax, qword [rbp + 0x1e0]
mov rdi, r9
mov qword [rsp + 0x48], rax
mov rsi, r8
xor eax, eax
mov r13, rdx
mov qword [rsp + 0x30], rax
mov r15, rcx
mov qword [rsp + 0x38], rax
mov ebx, eax
mov qword [rdx], rax
mov r12d, eax
test r8, r8
je 0x180054f1b
call fcn.1800557d0
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x180054b09
lea eax, [r12 + 0x1b]
jmp 0x180054f1b
test rdi, rdi
mov qword [rsp + 0x20], rax
lea r9, str.Content_Type:_multipart_form_data
cmovne r9, rdi
lea r8, str._s__boundary_s_r_n
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.180054580
mov edi, eax
test eax, eax
je 0x180054b47
mov rcx, qword [rsp + 0x40]
call qword [fcn.180062e08]
mov eax, edi
jmp 0x180054f1b
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x278], r14
nop
test rbx, rbx
je 0x180054b85
lea r8, [0x1800a849c]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180054580
mov edi, eax
test eax, eax
jne 0x180054ef3
mov r9, qword [rsp + 0x40]
lea r8, str.___s_r_n
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180054580
mov edi, eax
test eax, eax
jne 0x180054ef3
lea r8, str.Content_Disposition:_form_data__name_
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180054580
mov edi, eax
test eax, eax
jne 0x180054ef3
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.1800543e0
mov edi, eax
test eax, eax
jne 0x180054ef3
lea r8, [0x1800a65b8]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180054580
mov edi, eax
test eax, eax
jne 0x180054ef3
cmp qword [rsi + 0x48], 0
je 0x180054c5a
mov rcx, r12
call qword [fcn.180062e08]
mov rcx, r15
call fcn.1800557d0
mov r12, rax
test rax, rax
je 0x180054f78
mov r9, rax
lea r8, str._r_nContent_Type:_multipart_mixed__boundary_s_r_n
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180054580
mov edi, eax
test eax, eax
jne 0x180054ef3
mov r14, rsi
nop dword [rax]
cmp qword [rsi + 0x48], 0
je 0x180054ca2
mov r9, r12
lea r8, str._r_n___s_r_nContent_Disposition:_attachment
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180054580
mov edi, eax
test eax, eax
jne 0x180054ef3
lea r8, [rsp + 0x38]
mov rcx, r14
lea rdx, [rsp + 0x30]
call fcn.180055810
mov edi, eax
test eax, eax
jmp 0x180054cca
mov eax, dword [rsi + 0x50]
test al, 0x51
je 0x180054cd0
cmp qword [rsi + 0x58], 0
jne 0x180054cb4
test al, 1
je 0x180054cc8
lea r8, [rsp + 0x38]
mov rcx, rsi
lea rdx, [rsp + 0x30]
call fcn.180055810
mov edi, eax
test edi, edi
jne 0x180054ef3
mov r9, qword [r14 + 0x38]
test r9, r9
je 0x180054cf9
lea r8, str._r_nContent_Type:__s
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180054580
mov edi, eax
test eax, eax
jne 0x180054ef3
mov rbx, qword [r14 + 0x40]
test rbx, rbx
je 0x180054d3e
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rbx]
lea r8, str._r_n_s
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180054580
mov edi, eax
test eax, eax
jne 0x180054ef3
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x180054d10
jmp 0x180054d46
test edi, edi
jne 0x180054ef3
lea r8, str._r_n_r_n
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180054580
mov edi, eax
test eax, eax
jne 0x180054ef3
mov eax, dword [rsi + 0x50]
test al, 3
jne 0x180054de3
test al, 0x10
je 0x180054d7b
movsxd r9, dword [rsi + 0x30]
mov r8, qword [rsi + 0x28]
jmp 0x180054dc3
test al, 0x40
je 0x180054db1
test al, al
jns 0x180054d89
mov r9, qword [rsi + 0x68]
jmp 0x180054d8d
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.1800543e0
mov edi, eax
jmp 0x180054ee2
test al, al
jns 0x180054dbb
mov r9, qword [rsi + 0x68]
jmp 0x180054dbf
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.1800543e0
mov edi, eax
jmp 0x180054ee2
mov rcx, qword [r14 + 0x18]
movzx eax, byte [0x1800a7298]
cmp al, byte [rcx]
jne 0x180054e07
movzx eax, byte [0x1800a7299]
cmp al, byte [rcx + 1]
jne 0x180054e07
xor ecx, ecx
call fcn.180067218
jmp 0x180054e13
lea rdx, [0x18009548c]
call fcn.180067d1c
mov rbx, rax
test rax, rax
je 0x180054ebd
xor ecx, ecx
call fcn.180067218
cmp rbx, rax
je 0x180054e40
mov rcx, rbx
call fcn.1800674a8
mov r8, qword [r14 + 0x18]
xor r9d, r9d
lea edx, [r9 + 4]
jmp 0x180054dc8
mov r9, rbx
lea rcx, [rsp + 0x60]
mov edx, 1
mov r8d, 0x200
call fcn.18006dbe4
test rax, rax
je 0x180054ee2
lea rcx, [rsp + 0x38]
mov r9, rax
mov qword [rsp + 0x20], rcx
lea r8, [rsp + 0x60]
lea rcx, [rsp + 0x30]
mov edx, 2
call fcn.1800543e0
mov edi, eax
test eax, eax
jne 0x180054ee2
mov rcx, rbx
call fcn.18006f4e8
test eax, eax
jne 0x180054ee2
mov rcx, rbx
call fcn.18006f514
test eax, eax
jne 0x180054ee2
mov r9, rbx
lea edx, [rdi + 1]
mov r8d, 0x200
lea rcx, [rsp + 0x60]
call fcn.18006dbe4
test rax, rax
jne 0x180054e61
jmp 0x180054ee2
test r15, r15
je 0x180054ed5
mov r8, qword [r14 + 0x18]
lea rdx, str.couldnt_open_file___s_
mov rcx, r15
call fcn.180032fe0
mov qword [r13], 0
mov edi, reloc.WLDAP32.dll_Ordinal_26
mov r14, qword [r14 + 0x48]
test r14, r14
je 0x180054f3c
test edi, edi
je 0x180054c60
lea rcx, [rsp + 0x58]
call fcn.180054a00
mov rcx, r12
call qword [fcn.180062e08]
mov rcx, qword [rsp + 0x40]
call qword [fcn.180062e08]
mov eax, edi
mov r14, qword [rsp + 0x278]
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.18005c430
add rsp, 0x280
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test edi, edi
jne 0x180054ef3
cmp qword [rsi + 0x48], 0
je 0x180054f66
mov r9, r12
lea r8, str._r_n___s__
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180054580
mov edi, eax
test eax, eax
jne 0x180054ef3
mov rsi, qword [rsi]
test rsi, rsi
je 0x180054f82
mov rbx, qword [rsp + 0x38]
jmp 0x180054b60
mov edi, reloc.WLDAP32.dll_Ordinal_27
jmp 0x180054ef3
test edi, edi
jne 0x180054ef3
mov rbx, qword [rsp + 0x40]
lea r8, str._r_n___s___r_n
mov r9, rbx
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180054580
mov edi, eax
test eax, eax
jne 0x180054ef3
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x38]
mov qword [rcx], rax
mov rcx, r12
call qword [fcn.180062e08]
mov rcx, rbx
call qword [fcn.180062e08]
mov rax, qword [rsp + 0x50]
mov qword [r13], rax
xor eax, eax
jmp 0x180054f13