Function at 0x180036370
Capabilities:
Get file size
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e8]
sub rsp, 0x2e8
mov qword [rbp - 0x40], 0xfffffffffffffffe
mov rax, qword [0x180122010]
xor rax, rsp
mov qword [rbp + 0x1d8], rax
mov rbx, r9
mov qword [rbp + 0x70], r8
mov qword [rbp - 0x80], rdx
mov r13, rcx
mov qword [rbp - 0x60], rcx
mov rcx, qword [rbp + 0x250]
mov qword [rbp - 0x78], rcx
mov r14, qword [rbp + 0x258]
mov r15, qword [rbp + 0x260]
mov rax, qword [rbp + 0x268]
mov qword [rbp - 0x70], rax
xor r12d, r12d
mov esi, r12d
mov dword [rsp + 0x40], r12d
lea rax, [r9 + 0x20]
mov qword [rbp - 0x68], rax
cmp qword [r9 + 0x10], rsi
je 0x180037803
cmp qword [rax + 0x10], rsi
je 0x180037803
cmp qword [rcx + 0x10], rsi
je 0x180037803
cmp qword [r14 + 0x10], rsi
je 0x18003643a
mov rdx, r14
lea rcx, [rbp - 0x18]
call fcn.1800206b0
nop
mov esi, 1
mov dword [rsp + 0x40], esi
mov rcx, rax
call fcn.18001a0d0
test al, al
jne 0x18003643a
movzx edi, sil
jmp 0x18003643d
xor dil, dil
test sil, 1
je 0x18003649e
and esi, 0xfffffffe
mov dword [rsp + 0x40], esi
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x18003648d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036488
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036488
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8534
mov qword [rbp - 8], r12
mov qword [rbp], 7
mov word [rbp - 0x18], r12w
test dil, dil
jne 0x180037803
cmp qword [r15 + 0x10], 0
je 0x1800364d3
mov rdx, r15
lea rcx, [rbp - 0x18]
call fcn.1800206b0
nop
or esi, 2
mov dword [rsp + 0x40], esi
mov rcx, rax
call fcn.18001a0d0
test al, al
jne 0x1800364d3
mov dil, 1
jmp 0x1800364d6
xor dil, dil
test sil, 2
je 0x180036537
and esi, 0xfffffffd
mov dword [rsp + 0x40], esi
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x180036526
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036521
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036521
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8534
mov qword [rbp - 8], r12
mov qword [rbp], 7
mov word [rbp - 0x18], r12w
test dil, dil
jne 0x180037803
mov byte [r13 + 0x38], 1
mov r8d, 0x1bb
mov rdx, rbx
mov rcx, r13
call fcn.180055b50
test al, al
je 0x180037803
mov rdx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x18003656b
mov rdx, qword [r14]
mov r9d, 0xfde9
mov r8d, dword [r14 + 0x10]
lea rcx, [rbp - 0x18]
call fcn.180020000
bts esi, 9
mov dword [rsp + 0x40], esi
btr esi, 9
mov dword [rsp + 0x40], esi
bts esi, 8
mov dword [rsp + 0x40], esi
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x178]
call fcn.18001ab00
nop
btr esi, 8
mov dword [rsp + 0x40], esi
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x1800365f2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800365ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800365ed
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8534
xor r13d, r13d
mov qword [rbp - 8], r13
mov qword [rbp], 7
mov word [rbp - 0x18], r13w
mov rdx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x180036613
mov rdx, qword [r15]
mov r9d, 0xfde9
mov r8d, dword [r15 + 0x10]
lea rcx, [rbp - 0x18]
call fcn.180020000
bts esi, 0xb
mov dword [rsp + 0x40], esi
btr esi, 0xb
mov dword [rsp + 0x40], esi
bts esi, 0xa
mov dword [rsp + 0x40], esi
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x158]
call fcn.18001ab00
nop
btr esi, 0xa
mov dword [rsp + 0x40], esi
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x18003669a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036695
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036695
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8534
mov qword [rbp - 8], r13
mov qword [rbp], 7
mov word [rbp - 0x18], r13w
mov ecx, 8
call fcn.1800c87e0
mov rbx, rax
mov qword [rsp + 0x48], rax
mov qword [rax], 0xffffffffffffffff
mov qword [rsp + 0x70], rax
mov ecx, 8
call fcn.1800c87e0
mov rdi, rax
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rdi], 0xffffffffffffffff
mov qword [rsp + 0x68], rdi
cmp qword [r14 + 0x10], rax
je 0x18003673a
mov rdx, r14
lea rcx, [rbp - 0x18]
call fcn.1800206b0
nop
or esi, 4
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
mov r9d, 1
mov r8d, 0x80000000
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.18001deb0
mov rbx, qword [rsp + 0x70]
test al, al
jne 0x18003673a
mov r12b, 1
jmp 0x18003673d
xor r12b, r12b
test sil, 4
je 0x18003679e
and esi, 0xfffffffb
mov dword [rsp + 0x40], esi
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x18003678d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036788
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036788
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8534
mov qword [rbp - 8], r13
mov qword [rbp], 7
mov word [rbp - 0x18], r13w
test r12b, r12b
jne 0x1800377cd
cmp qword [r15 + 0x10], 0
je 0x1800367f9
mov rdx, r15
lea rcx, [rbp - 0x18]
call fcn.1800206b0
nop
or esi, 8
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
mov r9d, 1
mov r8d, 0x80000000
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.18001deb0
mov rdi, qword [rsp + 0x68]
test al, al
jne 0x1800367f9
mov r12b, 1
jmp 0x1800367fc
xor r12b, r12b
test sil, 8
je 0x18003685d
and esi, 0xfffffff7
mov dword [rsp + 0x40], esi
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x18003684c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036847
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036847
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8534
mov qword [rbp - 8], r13
mov qword [rbp], 7
mov word [rbp - 0x18], r13w
test r12b, r12b
jne 0x1800377cd
mov r12, r13
test rbx, rbx
je 0x1800368a7
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1800368a7
lea rdx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r13d, eax
cmp eax, 0xffffffff
jne 0x180036896
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1800368a4
mov r12d, dword [rbp + 0x90]
shl r12, 0x20
add r12, r13
xor r13d, r13d
mov rcx, r12
call fcn.1800c9074
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x1800368c0
test rbx, rbx
je 0x18003690e
jmp 0x1800368f4
mov dword [rsp + 0x78], r13d
cmp qword [r14 + 0x10], 0
je 0x18003691a
test rbx, rbx
je 0x18003690e
cmp qword [rbx], 0xffffffffffffffff
je 0x18003690e
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x78]
mov r8d, r12d
mov rdx, rax
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x18003691a
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x18003690e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x18003690e
mov qword [rbx], 0xffffffffffffffff
xor bl, bl
mov rdi, qword [rsp + 0x48]
jmp 0x1800377be
test rbx, rbx
je 0x180036939
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x180036939
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x180036939
mov qword [rbx], 0xffffffffffffffff
mov r14, r13
test rdi, rdi
je 0x180036976
mov rcx, qword [rdi]
cmp rcx, 0xffffffffffffffff
je 0x180036976
lea rdx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x180036968
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180036976
mov r14d, dword [rbp + 0x90]
shl r14, 0x20
add r14, rbx
mov rcx, r14
call fcn.1800c9074
mov r13, rax
mov qword [rbp + 0x90], rax
test rax, rax
jne 0x180036994
test rdi, rdi
je 0x1800369e8
jmp 0x1800369ce
mov dword [rsp + 0x7c], 0
cmp qword [r15 + 0x10], 0
je 0x1800369f4
test rdi, rdi
je 0x1800369e8
cmp qword [rdi], 0xffffffffffffffff
je 0x1800369e8
xor r15d, r15d
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x7c]
mov r8d, r14d
mov rdx, r13
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1800369f7
mov rcx, qword [rdi]
cmp rcx, 0xffffffffffffffff
je 0x1800369e8
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x1800369e8
mov qword [rdi], 0xffffffffffffffff
xor bl, bl
mov rdi, qword [rsp + 0x48]
jmp 0x1800377b0
xor r15d, r15d
test rdi, rdi
je 0x180036a16
mov rcx, qword [rdi]
cmp rcx, 0xffffffffffffffff
je 0x180036a16
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x180036a16
mov qword [rdi], 0xffffffffffffffff
mov qword [rbp + 0x108], r15
mov qword [rbp + 0x110], r15
mov qword [rbp + 0x108], r15
mov qword [rbp + 0x110], 0xf
mov byte [rbp + 0xf8], 0
lea rcx, [rbp + 0xf8]
mov rax, qword [rbp - 0x80]
cmp rcx, rax
je 0x180036a6a
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x180036a5a
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp + 0xf8]
call fcn.18000d1d0
mov qword [rbp - 8], r15
mov qword [rbp], r15
mov qword [rbp - 8], r15
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
lea r9, [rbp - 0x18]
xor r8d, r8d
mov rdx, qword [rbp - 0x78]
lea rcx, [rbp + 0xf8]
call fcn.180055190
test al, al
jne 0x180036aa9
xor bl, bl
mov rdi, qword [rsp + 0x48]
jmp 0x180037799
lea rcx, [rbp + 8]
call fcn.180035f20
nop
mov qword [rbp + 0xe8], r15
mov qword [rbp + 0xf0], r15
mov qword [rbp + 0xe8], r15
mov qword [rbp + 0xf0], 0xf
mov byte [rbp + 0xd8], 0
mov r8d, 0x23
lea rdx, str.Content_Type:_multipart_form_data_
lea rcx, [rbp + 0xd8]
call fcn.18000d1d0
nop
mov r8d, 9
lea rdx, str.boundary
lea rcx, [rbp + 0xd8]
call fcn.1800379b0
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x18]
lea rcx, [rbp + 0xd8]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp + 0xd8]
call fcn.1800379b0
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], 0
mov r8d, 2
lea rdx, [0x1800e293c]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x18]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x60], 0xf
mov byte [rbp + 0x48], 0
mov r8d, 0xc
lea rdx, [0x1800e2940]
lea rcx, [rbp + 0x48]
call fcn.18000d1d0
nop
mov r8, qword [rbp + 0x70]
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x98]
call fcn.180035cf0
nop
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x180036bf4
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
nop
mov rdx, qword [rbp + 0xb0]
cmp rdx, 0x10
jb 0x180036c46
inc rdx
mov rcx, qword [rbp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036c41
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036c41
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8534
mov qword [rbp + 0xa8], r15
mov qword [rbp + 0xb0], 0xf
mov byte [rbp + 0x98], 0
mov rdx, qword [rbp + 0x60]
cmp rdx, 0x10
jb 0x180036c9d
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036c98
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036c98
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8534
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x60], 0xf
mov byte [rbp + 0x48], 0
mov r8d, 2
lea rdx, [0x1800e293c]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x18]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], r15
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], 0xf
mov byte [rbp + 0x28], 0
mov r8d, 1
lea rdx, [0x1800e2934]
lea rcx, [rbp + 0x28]
call fcn.18000d1d0
nop
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
mov r8d, 1
lea rdx, [0x1800e2938]
lea rcx, [rbp + 0x70]
call fcn.18000d1d0
nop
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x98]
call fcn.180035cf0
nop
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x180036d80
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
nop
mov rdx, qword [rbp + 0xb0]
cmp rdx, 0x10
jb 0x180036dd2
inc rdx
mov rcx, qword [rbp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036dcd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036dcd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8534
mov qword [rbp + 0xa8], r15
mov qword [rbp + 0xb0], 0xf
mov byte [rbp + 0x98], 0
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x180036e2c
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036e27
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036e27
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8534
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x180036e80
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036e7b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036e7b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8534
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], 0xf
mov byte [rbp + 0x28], 0
mov qword [rbp + 0xa8], r15
mov qword [rbp + 0xb0], r15
mov qword [rbp + 0xa8], r15
mov qword [rbp + 0xb0], 7
mov word [rbp + 0x98], r15w
mov qword [rbp + 0xc8], r15
mov qword [rbp + 0xd0], r15
mov qword [rbp + 0xc8], r15
mov qword [rbp + 0xd0], 7
mov word [rbp + 0xb8], r15w
mov r8d, 7
lea rdx, str.2345Pic
lea rcx, [rbp + 0xb8]
call fcn.180007980
nop
lea rdx, [rbp + 0xb8]
cmp qword [rbp + 0xd0], 8
cmovae rdx, qword [rbp + 0xb8]
mov r8, qword [rbp + 0xc8]
lea rcx, [rbp + 0x98]
call fcn.180007980
nop
lea rcx, [rbp + 0xb8]
call fcn.180007900
lea rdx, [rbp + 0x138]
lea rcx, [rbp + 0x98]
call fcn.180050340
nop
mov r8d, 2
lea rdx, [0x1800e293c]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x18]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x60], 0xf
mov byte [rbp + 0x48], 0
mov r8d, 1
lea rdx, [0x1800e2868]
lea rcx, [rbp + 0x48]
call fcn.18000d1d0
nop
lea rdx, [rbp + 0x138]
cmp qword [rbp + 0x150], 8
cmovae rdx, qword [rbp + 0x138]
xor r9d, r9d
mov r8d, dword [rbp + 0x148]
lea rcx, [rbp + 0x198]
call fcn.180020640
bts esi, 0x10
mov dword [rsp + 0x40], esi
mov r8, rax
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x70]
call fcn.180035cf0
nop
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x18003700e
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
nop
lea rcx, [rbp + 0x70]
call fcn.180007b10
btr esi, 0x10
mov dword [rsp + 0x40], esi
lea rcx, [rbp + 0x198]
call fcn.180007b10
nop
lea rcx, [rbp + 0x48]
call fcn.180007b10
movdqa xmm0, xmmword [0x1800e71e0]
movdqu xmmword [rbp + 0x70], xmm0
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 0x70]
call fcn.180022aa0
nop
mov r8d, 2
lea rdx, [0x1800e293c]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x18]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], r15
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], 0xf
mov byte [rbp + 0x28], 0
mov r8d, 1
lea rdx, [0x1800e295c]
lea rcx, [rbp + 0x28]
call fcn.18000d1d0
nop
lea rdx, [rbp + 0x118]
cmp qword [rbp + 0x130], 8
cmovae rdx, qword [rbp + 0x118]
xor r9d, r9d
mov r8d, dword [rbp + 0x128]
lea rcx, [rbp + 0x70]
call fcn.180020640
bts esi, 0x12
mov dword [rsp + 0x40], esi
mov r8, rax
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x198]
call fcn.180035cf0
nop
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x18003712a
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
nop
lea rcx, [rbp + 0x198]
call fcn.180007b10
btr esi, 0x12
mov dword [rsp + 0x40], esi
lea rcx, [rbp + 0x70]
call fcn.180007b10
nop
lea rcx, [rbp + 0x28]
call fcn.180007b10
mov r8d, 2
lea rdx, [0x1800e293c]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x18]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x60], 0xf
mov byte [rbp + 0x48], 0
mov r8d, 0xb
lea rdx, str.client_data
lea rcx, [rbp + 0x48]
call fcn.18000d1d0
nop
lea r8, [rbp - 0x18]
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x198]
call fcn.180035cf0
nop
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800371f7
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
nop
lea rcx, [rbp + 0x198]
call fcn.180007b10
nop
lea rcx, [rbp + 0x48]
call fcn.180007b10
mov r8d, 2
lea rdx, [0x1800e293c]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x18]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 0x3a
lea rdx, str.Content_Disposition:_form_data__name_current___filename_
lea rcx, [rbp - 0x38]
call fcn.1800379b0
nop
lea rdx, [rbp + 0x178]
cmp qword [rbp + 0x190], 8
cmovae rdx, qword [rbp + 0x178]
mov r9d, 0xfde9
mov r8d, dword [rbp + 0x188]
lea rcx, [rbp + 0x28]
call fcn.180020640
bts esi, 0x15
mov dword [rsp + 0x40], esi
btr esi, 0x15
mov dword [rsp + 0x40], esi
bts esi, 0x14
mov dword [rsp + 0x40], esi
lea rdx, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x38]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
btr esi, 0x14
mov dword [rsp + 0x40], esi
lea rcx, [rbp + 0x28]
call fcn.180007b10
mov r8d, 1
lea rdx, str._3A
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 0x1d
lea rdx, str.Content_Type:_application_png
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r15
mov rcx, qword [rbp - 0x28]
lea rdx, [rcx + 0x400]
add rdx, r12
mov rax, qword [rsp + 0x60]
sub rax, qword [rsp + 0x50]
cmp rdx, rax
jbe 0x1800373a4
movabs rax, 0x7fffffffffffffff
cmp rdx, rax
ja 0x180037828
lea rcx, [rsp + 0x50]
call fcn.180037900
mov rcx, qword [rbp - 0x28]
mov byte [rsp + 0x44], 0
lea rdx, [rcx + r12]
lea rax, [rsp + 0x50]
mov qword [rbp + 0x70], rax
lea rax, [rsp + 0x44]
mov qword [rbp + 0x78], rax
movaps xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp + 0x70], xmm0
lea r8, [rbp + 0x70]
lea rcx, [rsp + 0x50]
call fcn.180037b70
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
cmovae rdx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x28]
mov rcx, qword [rsp + 0x50]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp - 0x28]
add rcx, qword [rsp + 0x50]
mov r8, r12
mov rdi, qword [rsp + 0x48]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x28], r15
lea rax, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
cmovae rax, qword [rbp - 0x38]
mov byte [rax], 0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e293c]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x18]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 0x38
lea rdx, str.Content_Disposition:_form_data__name_extra___filename_
lea rcx, [rbp - 0x38]
call fcn.1800379b0
nop
lea rdx, [rbp + 0x158]
cmp qword [rbp + 0x170], 8
cmovae rdx, qword [rbp + 0x158]
mov r9d, 0xfde9
mov r8d, dword [rbp + 0x168]
lea rcx, [rbp + 0x28]
call fcn.180020640
bts esi, 0x18
mov dword [rsp + 0x40], esi
btr esi, 0x18
mov dword [rsp + 0x40], esi
bts esi, 0x17
mov dword [rsp + 0x40], esi
lea rdx, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x38]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
btr esi, 0x17
mov dword [rsp + 0x40], esi
lea rcx, [rbp + 0x28]
call fcn.180007b10
mov r8d, 1
lea rdx, str._3A
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 0x1d
lea rdx, str.Content_Type:_application_png
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov rbx, qword [rsp + 0x58]
sub rbx, qword [rsp + 0x50]
lea rdx, [rbx + r14]
add rdx, qword [rbp - 0x28]
lea rcx, [rsp + 0x50]
call fcn.180037cd0
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
cmovae rdx, qword [rbp - 0x38]
mov rcx, qword [rsp + 0x50]
add rcx, rbx
mov r8, qword [rbp - 0x28]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x50]
add rcx, rbx
add rcx, qword [rbp - 0x28]
mov r8, r14
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x28], r15
lea rax, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
cmovae rax, qword [rbp - 0x38]
mov byte [rax], 0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e293c]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x18]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e293c]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov r8d, 2
lea rdx, [0x1800e2908]
lea rcx, [rbp - 0x38]
call fcn.1800379b0
mov rbx, qword [rsp + 0x58]
sub rbx, qword [rsp + 0x50]
mov rdx, qword [rbp - 0x28]
add rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.180037cd0
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
cmovae rdx, qword [rbp - 0x38]
mov rcx, qword [rsp + 0x50]
add rcx, rbx
mov r8, qword [rbp - 0x28]
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x28], r15
lea rax, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
cmovae rax, qword [rbp - 0x38]
mov byte [rax], 0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], r15
mov rbx, qword [rbp - 0x70]
mov qword [rbx + 0x10], r15
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1800376bd
mov rax, qword [rbx]
mov byte [rax], 0
mov r8d, 0xfde9
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x1b8]
call fcn.18001ffb0
nop
mov rax, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
sub rax, r9
lea r8, [rbp + 0x1b8]
cmp qword [rbp + 0x1d0], 8
cmovae r8, qword [rbp + 0x1b8]
mov rcx, qword [rbp - 0x68]
cmp qword [rcx + 0x18], 8
jb 0x18003770c
mov rcx, qword [rcx]
lea rdx, [rbp - 0x58]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x20], eax
mov rdx, rcx
mov rcx, qword [rbp - 0x60]
call fcn.180056340
test al, al
setne bl
lea rcx, [rbp + 0x1b8]
call fcn.180007900
nop
lea rcx, [rbp - 0x58]
call fcn.180037890
nop
lea rcx, [rsp + 0x50]
call fcn.18002add0
nop
lea rcx, [rbp + 0x118]
call fcn.180007900
nop
lea rcx, [rbp + 0x138]
call fcn.180007900
nop
lea rcx, [rbp + 0x98]
call fcn.180007900
nop
lea rcx, [rbp - 0x38]
call fcn.180007b10
nop
lea rcx, [rbp + 0xd8]
call fcn.180007b10
nop
lea rcx, [rbp + 8]
call fcn.180007b10
nop
lea rcx, [rbp - 0x18]
call fcn.180007b10
nop
lea rcx, [rbp + 0xf8]
call fcn.180007b10
nop
test r13, r13
je 0x1800377be
mov rcx, r13
call fcn.1800c8534
nop
test rdi, rdi
je 0x1800377cf
mov rcx, rdi
call fcn.1800c8534
jmp 0x1800377cf
xor bl, bl
lea rcx, [rsp + 0x68]
call fcn.18001de50
nop
lea rcx, [rsp + 0x70]
call fcn.18001de50
nop
lea rcx, [rbp + 0x158]
call fcn.180007900
nop
lea rcx, [rbp + 0x178]
call fcn.180007900
movzx eax, bl
jmp 0x180037805
xor al, al
mov rcx, qword [rbp + 0x1d8]
xor rcx, rsp
call fcn.1800c8510
add rsp, 0x2e8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18000d320
nop
int3