Function at 0x18003c810
Capabilities:
Check http status code

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x368]
sub rsp, 0x428
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rax, qword [0x1800923a0]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
mov r10, qword [rbp + 0x398]
mov rax, r8
mov rsi, qword [rbp + 0x3a8]
mov r8, rdx
movsd xmm7, qword [0x18008beb0]
mov r15, rcx
mov qword [rsp + 0x48], rdx
xor edi, edi
mov edx, dword [rbp + 0x3a0]
mov r14, r9
mov qword [rbp - 0x40], rcx
mov r12d, edx
imul ecx, edx, 0x7e8
mov qword [rbp - 0x78], r9
lea r13d, [rdi + 1]
mov r11, qword [rbp - 0x78]
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x50], r10
cmp edx, ecx
mov dword [rsp + 0x38], ecx
mov rdx, qword [rbp - 0x78]
mov ecx, dword [rsp + 0x38]
mov qword [rsp + 0x60], rdx
mov qword [rbp - 0x50], rsi
mov qword [rsp + 0x78], r11
mov dword [rsp + 0x30], ecx
ja 0x18003d9a1
mov r9d, dword [rsp + 0x38]
movsd xmm6, qword [rbp - 0x40]
mov ebx, dword [rsp + 0x38]
mov dword [rsp + 0x40], r9d
cmp r12d, 0x1ce8
ja 0x18003cbd3
je 0x18003cb31
mov eax, r12d
sub eax, 0x28
je 0x18003cab0
sub eax, 0x68
je 0x18003ca62
sub eax, 0x3f
je 0x18003ca31
sub eax, 0x22
je 0x18003d21a
cmp eax, 0x33
jne 0x18003d1ef
mov rax, qword [rbp - 0x58]
test byte [rax], 8
je 0x18003d1ef
mov r12, qword [rsp + 0x48]
nop word [rax + rax]
mov rcx, qword [r14 + 0x18]
movzx eax, byte [r10]
test byte [rax + rcx], r13b
je 0x18003c952
nop
inc r10
mov qword [rsp + 0x50], r10
movzx eax, byte [r10]
test byte [rax + rcx], r13b
jne 0x18003c940
cmp byte [r10], 0x23
jne 0x18003ca11
inc r10
mov qword [rsp + 0x50], r10
movzx r9d, byte [r10]
test r9b, r9b
je 0x18003c930
mov rdx, r10
mov r8d, dword [r14 + 0x78]
mov rcx, qword [r14 + 0x38]
test r8d, r8d
je 0x18003c9cc
cmp rdx, rcx
jae 0x18003c9f4
mov eax, dword [r12]
lea r9, [rsp + 0x68]
mov dword [rsp + 0x68], r8d
lea r8, [r14 + 0x7c]
mov dword [rsp + 0x28], 0x94
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x70], eax
call fcn.180035830
mov r10, qword [rsp + 0x50]
test eax, eax
je 0x18003c9f4
mov r8d, dword [r14 + 0x7c]
movsxd rax, r8d
add r10, rax
mov qword [rsp + 0x50], r10
jmp 0x18003c930
movsxd r8, dword [r14 + 0x7c]
sub rcx, r8
cmp rdx, rcx
ja 0x18003c9f4
cmp r9b, byte [r14 + 0x80]
jne 0x18003c9f4
cmp r8d, r13d
je 0x18003c9bc
movzx eax, byte [r14 + 0x81]
cmp byte [r10 + 1], al
je 0x18003c9bc
inc r10
mov qword [rsp + 0x50], r10
mov rdx, r10
movzx r9d, byte [r10]
test r9b, r9b
jne 0x18003c970
jmp 0x18003c930
mov r11, qword [rsp + 0x78]
mov r12d, 0x124
mov ecx, dword [rsp + 0x30]
xor edi, edi
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x40]
jmp 0x18003d1ea
xor r9d, r9d
mov qword [rbp - 0x60], r8
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 0x40]
call fcn.18006c3d0
mov r11, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x30]
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x40]
mov qword [rbp - 0x68], rax
jmp 0x18003d1e5
movsxd rcx, dword [rsi]
movaps xmm6, xmm7
movsxd rdx, dword [r15]
mov eax, ecx
imul eax, edx
cmp eax, 0x64
jge 0x18003ca87
mov ecx, dword [rsp + 0x30]
lea r11, [rbp - 0x30]
mov qword [rsp + 0x78], r11
jmp 0x18003d1ea
imul rcx, rdx
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, dword [rsp + 0x30]
mov r11, rax
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x40]
mov qword [rsp + 0x78], rax
jmp 0x18003d1e5
mov eax, dword [r8]
lea r9, [rsp + 0x44]
mov r8d, 0x77
mov dword [rsp + 0x70], 4
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x68], eax
lea rcx, [rsp + 0x68]
call fcn.18002aa40
mov r9, qword [rsi]
lea rcx, [rsp + 0x44]
mov r8d, 4
mov rdx, r13
call qword [r15]
cmp rax, 4
jne case.0x18003d646.12
mov r8, qword [rsp + 0x48]
mov r9d, eax
mov dword [rsp + 0x40], eax
mov rdx, 0xffffffffffffffff
mov rax, qword [r8 + 8]
nop
inc rdx
cmp byte [rax + rdx], 0
jne 0x18003cb10
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x30]
mov qword [rsp + 0x60], rdx
jmp 0x18003d1ef
mov dword [rsp + 0x70], r9d
lea rcx, [rsp + 0x68]
mov dword [rsp + 0x68], edx
lea r9, [rsp + 0x44]
lea rdx, [rsp + 0x70]
mov r8d, 0x77
call fcn.18002aa40
mov edi, dword [rsp + 0x40]
lea rcx, [rsp + 0x44]
mov r9, qword [rsi]
mov r8d, edi
mov rdx, r13
call qword [r15]
cmp rax, rdi
jne case.0x18003d646.12
mov rax, qword [rsp + 0x48]
mov rdx, r13
mov r9, qword [rsi]
mov r8, qword [rsp + 0x60]
mov rcx, qword [rax + 8]
call qword [r15]
cmp rax, qword [rsp + 0x60]
jne case.0x18003d646.12
mov r8, qword [rsp + 0x48]
mov r9d, 4
mov dword [rsp + 0x40], r9d
mov rdx, 0xffffffffffffffff
mov rax, qword [r8 + 0x10]
nop
inc rdx
cmp byte [rax + rdx], 0
jne 0x18003cbb0
mov r10, qword [rsp + 0x50]
xor edi, edi
mov r11, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x30]
mov qword [rsp + 0x60], rdx
jmp 0x18003d1ef
cmp r12d, 0x6810
je 0x18003cf24
cmp r12d, 0x9597
je 0x18003cee2
cmp r12d, 0xd304
je 0x18003cc5c
cmp r12d, 0x12a5f
je 0x18003cc2f
cmp r12d, 0x1a4e4
jne 0x18003d1ef
mov eax, dword [rsi]
add eax, 0xfffffffa
cmp eax, 0x17
ja case.0x18003d646.12
lea rdx, [0x180000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x3de50]
add rcx, rdx
jmp rcx
mov r9, qword [rbp - 0x68]
xor r8d, r8d
mov rcx, qword [rbp - 0x60]
mov edx, 0x105
call fcn.180030840
mov r11, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x30]
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x40]
jmp 0x18003d1e5
movzx edx, byte [r10]
cmp dl, 0x5c
jne 0x18003cd9d
mov eax, dword [rax]
lea r9, [rbp - 0x70]
mov dword [rbp - 0x80], eax
lea r8, [rbp - 0x80]
mov eax, dword [r14 + 0x58]
lea rdx, [rsp + 0x58]
mov dword [rsp + 0x58], eax
lea rcx, [rsp + 0x50]
lea rax, [rbp - 0x48]
mov dword [rbp - 0x70], edi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc5
mov dword [rbp - 0x48], edi
call fcn.1800198c0
cmp dword [rbp - 0x70], 0
mov rbx, rax
jne case.0x18003d646.12
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x48]
inc r10
mov r8, r10
mov qword [rsp + 0x50], r10
mov rax, qword [rbp - 0x58]
test byte [rax], 8
je 0x18003ce90
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [r14 + 0x18]
movzx eax, byte [r10]
test byte [rax + rcx], r13b
je 0x18003cd05
nop
inc r10
mov qword [rsp + 0x50], r10
movzx eax, byte [r10]
test byte [rax + rcx], r13b
jne 0x18003ccf0
mov r8, r10
cmp byte [r10], 0x23
jne 0x18003ce88
lea r10, [r8 + 1]
mov qword [rsp + 0x50], r10
mov r8, r10
movzx r9d, byte [r10]
test r9b, r9b
je 0x18003cd93
nop dword [rax]
nop dword [rax + rax]
mov edx, dword [r14 + 0x78]
mov rcx, qword [r14 + 0x38]
test edx, edx
je 0x18003ce36
cmp r8, rcx
jae 0x18003ce66
mov eax, dword [r11]
lea r9, [rsp + 0x70]
mov dword [rsp + 0x70], edx
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x28], 0x94
mov qword [rsp + 0x20], r8
lea r8, [r14 + 0x7c]
mov dword [rsp + 0x68], eax
call fcn.180035830
mov r10, qword [rsp + 0x50]
test eax, eax
je 0x18003ce66
mov edx, dword [r14 + 0x7c]
movsxd rax, edx
add r10, rax
mov qword [rsp + 0x50], r10
mov r8, r10
mov r11, qword [rsp + 0x48]
jmp 0x18003cce0
mov rax, qword [r14 + 0x18]
cmp byte [rdx + rax], 0
jl case.0x18003d646.12
mov r11, qword [rsp + 0x48]
mov eax, edx
mov ebx, edx
cmp dword [r11], 0
je 0x18003ccbb
inc r10
mov qword [rsp + 0x50], r10
mov r8, r10
cmp eax, 0xc0
jb 0x18003ccc6
and eax, 0x3f
lea rdx, [0x180000000]
movzx r9d, byte [rax + rdx + 0x7aa10]
mov edx, dword [rdx + r9*4 + 0x7a9f8]
lea ecx, [r9 + r9*2]
add ecx, ecx
and ebx, edx
shl ebx, cl
test r9d, r9d
je 0x18003ccc6
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r10]
sub ecx, 6
and eax, 0x3f
dec r9d
shl eax, cl
or ebx, eax
inc r10
mov qword [rsp + 0x50], r10
mov r8, r10
test r9d, r9d
jg 0x18003ce10
jmp 0x18003ccc6
movsxd rdx, dword [r14 + 0x7c]
sub rcx, rdx
cmp r8, rcx
ja 0x18003ce66
cmp r9b, byte [r14 + 0x80]
jne 0x18003ce66
cmp edx, r13d
je 0x18003cd85
movzx eax, byte [r14 + 0x81]
cmp byte [r10 + 1], al
je 0x18003cd85
inc r10
mov qword [rsp + 0x50], r10
mov r8, r10
movzx r9d, byte [r10]
test r9b, r9b
je 0x18003cd93
mov r11, qword [rsp + 0x48]
jmp 0x18003cd30
xor edi, edi
mov r12d, 0xd304
movzx eax, byte [r10]
cmp al, 0x2a
je case.0x18003d646.12
cmp al, 0x3f
je case.0x18003d646.12
mov r8d, 3
lea rdx, [0x180089464]
mov rcx, r10
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je case.0x18003d646.12
test ebx, ebx
jns 0x18003d624
mov r11, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x30]
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x40]
jmp 0x18003d1e5
cmp qword [rbp - 0x68], 0
je 0x18003d98d
mov r8, r15
xor edx, edx
mov ecx, 0xf0
call fcn.18002b030
mov rcx, qword [rbp - 0x68]
mov qword [rcx], rax
test rax, rax
je 0x18003d97d
mov r11, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x30]
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x40]
jmp 0x18003d1e5
test r11, r11
je case.0x18003d646.12
mov rax, qword [r8]
mov edx, r13d
mov qword [r11], rax
cmp dword [rsi], edx
jle 0x18003d1df
lea r10, [r8 + 8]
movsd xmm2, qword [r10]
mov r8d, edi
comisd xmm2, xmm7
jbe 0x18003d0a3
movaps xmm3, xmm6
divsd xmm6, xmm2
cmp edx, 4
jb 0x18003d042
mov r9d, 2
nop word [rax + rax]
cmp r8d, dword [r15]
jge 0x18003d07b
mov eax, dword [rsi]
imul eax, r8d
add eax, edx
movsxd rcx, eax
lea eax, [r9 - 1]
movsd xmm1, qword [r11 + rcx*8 - 8]
movaps xmm0, xmm1
divsd xmm0, xmm2
addsd xmm0, xmm3
movaps xmm3, xmm1
movsd qword [r11 + rcx*8], xmm0
cmp eax, dword [r15]
jge 0x18003d09e
imul eax, dword [rsi]
add eax, edx
cdqe
movsd xmm0, qword [r11 + rax*8 - 8]
divsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [r11 + rax*8], xmm0
movsd xmm3, qword [r11 + rax*8 - 8]
cmp r9d, dword [r15]
jge 0x18003d099
mov eax, r9d
imul eax, dword [rsi]
add eax, edx
movsxd rcx, eax
lea eax, [r9 + 1]
movsd xmm1, qword [r11 + rcx*8 - 8]
movaps xmm0, xmm1
divsd xmm0, xmm2
addsd xmm0, xmm3
movaps xmm3, xmm1
movsd qword [r11 + rcx*8], xmm0
cmp eax, dword [r15]
jge 0x18003d09e
imul eax, dword [rsi]
add r8d, 4
add r9d, 4
add eax, edx
cdqe
movsd xmm0, qword [r11 + rax*8 - 8]
divsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [r11 + rax*8], xmm0
movsd xmm3, qword [r11 + rax*8 - 8]
lea eax, [rdx - 3]
cmp r8d, eax
jl 0x18003cf70
cmp r8d, edx
jge 0x18003d07e
cmp r8d, dword [r15]
jge 0x18003d07b
mov eax, dword [rsi]
imul eax, r8d
inc r8d
add eax, edx
movsxd rcx, eax
movsd xmm0, qword [r11 + rcx*8 - 8]
divsd xmm0, xmm2
addsd xmm0, xmm3
movsd qword [r11 + rcx*8], xmm0
movsd xmm3, qword [r11 + rcx*8 - 8]
cmp r8d, edx
jl 0x18003d047
cmp r8d, edx
jne 0x18003d1c7
mov eax, dword [rsi]
imul eax, r8d
add eax, edx
cdqe
movsd qword [r11 + rax*8], xmm3
jmp 0x18003d1c7
mov r8d, r9d
jmp 0x18003d07b
mov r8d, eax
jmp 0x18003d07b
movaps xmm1, xmm6
cmp edx, 4
jb 0x18003d179
mov r9d, 2
cmp r8d, dword [r15]
jge 0x18003d1ae
mov eax, dword [rsi]
imul eax, r8d
mulsd xmm1, xmm2
add eax, edx
movsxd rcx, eax
lea eax, [r9 - 1]
addsd xmm1, qword [r11 + rcx*8 - 8]
movsd qword [r11 + rcx*8], xmm1
movsd xmm1, qword [r11 + rcx*8 - 8]
cmp eax, dword [r15]
jge 0x18003d215
imul eax, dword [rsi]
mulsd xmm1, xmm2
add eax, edx
cdqe
addsd xmm1, qword [r11 + rax*8 - 8]
movsd qword [r11 + rax*8], xmm1
movsd xmm1, qword [r11 + rax*8 - 8]
cmp r9d, dword [r15]
jge 0x18003d210
mulsd xmm1, xmm2
mov eax, r9d
imul eax, dword [rsi]
add eax, edx
movsxd rcx, eax
lea eax, [r9 + 1]
addsd xmm1, qword [r11 + rcx*8 - 8]
movsd qword [r11 + rcx*8], xmm1
movsd xmm1, qword [r11 + rcx*8 - 8]
cmp eax, dword [r15]
jge 0x18003d215
imul eax, dword [rsi]
add r8d, 4
mulsd xmm1, xmm2
add r9d, 4
add eax, edx
cdqe
addsd xmm1, qword [r11 + rax*8 - 8]
movsd qword [r11 + rax*8], xmm1
movsd xmm1, qword [r11 + rax*8 - 8]
lea eax, [rdx - 3]
cmp r8d, eax
jl 0x18003d0b5
cmp r8d, edx
jge 0x18003d1b1
cmp r8d, dword [r15]
jge 0x18003d1ae
mov eax, dword [rsi]
imul eax, r8d
inc r8d
mulsd xmm1, xmm2
add eax, edx
movsxd rcx, eax
addsd xmm1, qword [r11 + rcx*8 - 8]
movsd qword [r11 + rcx*8], xmm1
movsd xmm1, qword [r11 + rcx*8 - 8]
cmp r8d, edx
jl 0x18003d17e
cmp r8d, edx
jne 0x18003d1c7
mov eax, dword [rsi]
imul eax, r8d
mulsd xmm1, xmm2
add eax, edx
cdqe
movsd qword [r11 + rax*8], xmm1
inc edx
add r10, 8
cmp edx, dword [rsi]
jl 0x18003cf42
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x40]
mov ecx, edi
mov dword [rsp + 0x30], ecx
mov r10, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
imul eax, dword [rbp + 0x3a0], 0xb8
add r12d, eax
cmp r12d, dword [rsp + 0x38]
ja 0x18003d9ab
mov rax, qword [rbp - 0x58]
jmp 0x18003c8d0
mov r8d, r9d
jmp 0x18003d1ae
mov r8d, eax
jmp 0x18003d1ae
mov eax, dword [r15]
cmp eax, 0x20
jae 0x18003d259
inc eax
mov dword [rsp + 0x58], r13d
mov dword [r15], eax
lea r8, [rsp + 0x58]
mov dword [rsp + 0x38], eax
xor r9d, r9d
lea rax, [rsp + 0x38]
mov rdx, rsi
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov dword [rsp + 0x20], 0x9c
call fcn.180039d10
jmp 0x18003dcdf
mov qword [rsp + 0x28], rdi
lea rcx, [rsp + 0x38]
mov r9, rsi
mov qword [rsp + 0x20], rdi
xor edx, edx
mov dword [rsp + 0x38], eax
mov r8d, 0xc3
call fcn.180055fc0
test eax, eax
je 0x18003d3e5
lea rax, [rsp + 0x38]
mov dword [rsp + 0x38], r13d
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x58]
xor r9d, r9d
mov dword [rsp + 0x20], 0x9c
mov rdx, rsi
mov dword [rsp + 0x58], r13d
xor ecx, ecx
call fcn.180039d10
test eax, eax
jne 0x18003d3e8
mov r13d, edi
mov eax, edi
jmp 0x18003dcdf
cmp dword [r8], 0
je 0x18003d393
cmp dword [r15], 0x7f
jle 0x18003d393
mov r11, qword [rbp + 0x390]
movzx eax, byte [r11]
mov dword [r15], eax
cmp eax, 0xc0
jb 0x18003d393
mov r10d, dword [rsp + 0x38]
lea r14, [0x180000000]
mov r8d, dword [rsp + 0x38]
mov edi, 0xae
mov esi, 0xffffffff
nop dword [rax]
mov eax, edi
sub eax, 0xad
je 0x18003d34a
cmp eax, r13d
jne 0x18003d37c
mov ecx, dword [r15]
mov eax, ecx
and eax, 0x3f
movzx r10d, byte [rax + r14 + 0x7aa10]
mov edx, dword [r14 + r10*4 + 0x7a9f8]
lea r8d, [r10 + r10*2]
add r8d, r8d
and edx, ecx
mov ecx, r8d
shl edx, cl
mov dword [r15], edx
jmp 0x18003d37c
movsxd r9, r10d
mov rdx, r13
cmp r13, r9
jg 0x18003d37c
nop word [rax + rax]
movzx eax, byte [rdx + r11]
sub r8d, 6
and eax, 0x3f
mov ecx, r8d
shl eax, cl
inc rdx
or dword [r15], eax
cmp rdx, r9
jle 0x18003d360
add edi, esi
cmp edi, 0xac
ja 0x18003d310
mov r14, qword [rbp - 0x78]
lea rdx, [0x180000000]
xor edi, edi
mov eax, 0xfffffffa
sub eax, ebx
cmp eax, 0xf
ja case.0x18003d646.12
cdqe
mov ecx, dword [rdx + rax*4 + 0x3deb0]
add rcx, rdx
jmp rcx
movsxd rax, dword [r15]
cmp eax, 0x7f
jg 0x18003d3c6
mov rcx, rax
mov rax, qword [r14 + 0x18]
test byte [rcx + rax], 4
jne 0x18003d3c9
mov edi, r13d
mov eax, edi
jmp 0x18003dcdf
movsxd rax, dword [r15]
cmp eax, 0x7f
jg 0x18003d3e5
mov rcx, rax
mov rax, qword [r14 + 0x18]
test byte [rcx + rax], 4
jne 0x18003d3e8
mov r13d, edi
mov eax, r13d
jmp 0x18003dcdf
movsxd rax, dword [r15]
cmp eax, 0x7f
jg 0x18003d3c6
mov rcx, rax
mov rax, qword [r14 + 0x18]
test byte [rcx + rax], r13b
jne 0x18003d3c9
mov edi, r13d
mov eax, r13d
jmp 0x18003dcdf
movsxd rax, dword [r15]
cmp eax, 0x7f
jg 0x18003d3e5
mov rcx, rax
mov rax, qword [r14 + 0x18]
test byte [rcx + rax], r13b
jne 0x18003d3e8
mov r13d, edi
mov eax, edi
jmp 0x18003dcdf
movsxd rax, dword [r15]
cmp eax, 0x7f
jg 0x18003d3c6
mov rcx, rax
mov rax, qword [r14 + 0x18]
test byte [rcx + rax], 0x10
jne 0x18003d3c9
mov edi, r13d
mov eax, r13d
jmp 0x18003dcdf
movsxd rax, dword [r15]
cmp eax, 0x7f
jg 0x18003d3e5
mov rcx, rax
mov rax, qword [r14 + 0x18]
test byte [rcx + rax], 0x10
jne 0x18003d3e8
mov r13d, edi
mov eax, edi
jmp 0x18003dcdf
mov eax, dword [r15]
cmp eax, 0x2000
jg 0x18003d4a9
je case.0x18003d4d0.8193
cmp eax, 9
je case.0x18003d4d0.8193
cmp eax, 0x20
je case.0x18003d4d0.8193
cmp eax, 0xa0
je case.0x18003d4d0.8193
cmp eax, 0x1680
je case.0x18003d4d0.8193
cmp eax, 0x180e
je case.0x18003d4d0.8193
cmp ebx, 0xffffffed
mov eax, 0
sete al
jmp 0x18003dcdf
cmp eax, 0x3000
jg case.0x18003cc2d.18
je case.0x18003d4d0.8193
sub eax, 0x2001
cmp eax, 0x5e
ja case.0x18003cc2d.18
cdqe
movzx eax, byte [rdx + rax + 0x3def8]
mov ecx, dword [rdx + rax*4 + 0x3def0]
add rcx, rdx
jmp rcx
cmp ebx, 0xffffffed
mov eax, 0
setne al
jmp 0x18003dcdf
mov ecx, dword [r15]
cmp ecx, 0xd
jg 0x18003d4f6
je 0x18003d51b
sub ecx, 0xa
je 0x18003d51b
sub ecx, r13d
jmp 0x18003d504
sub ecx, 0x85
je 0x18003d51b
sub ecx, 0x1fa3
je 0x18003d51b
cmp ecx, r13d
je 0x18003d51b
cmp ebx, 0xffffffeb
mov eax, 0
sete al
jmp 0x18003dcdf
cmp ebx, 0xffffffeb
mov eax, 0
setne al
jmp 0x18003dcdf
lea eax, [rbx + 0x15]
cmp eax, 0xf
ja 0x18003d3e5
mov ecx, 0x9805
bt ecx, eax
jb 0x18003d3e8
mov r13d, edi
mov eax, edi
jmp 0x18003dcdf
cmp ebx, 0xfffffff9
mov eax, 0
sete al
jmp 0x18003dcdf
lea eax, [rbx + 8]
cmp eax, r13d
jbe 0x18003d3c6
cmp ebx, 0xfffffff5
jne 0x18003d3c9
mov edi, r13d
mov eax, r13d
jmp 0x18003dcdf
lea eax, [rbx + 0x15]
cmp eax, 0xc
ja 0x18003d3e5
mov ecx, 0x1005
bt ecx, eax
jb 0x18003d3e8
mov r13d, edi
mov eax, edi
jmp 0x18003dcdf
lea eax, [rbx + 0x12]
cmp eax, 0xb
ja 0x18003d3e5
mov ecx, 0xc81
bt ecx, eax
jb 0x18003d3e8
mov r13d, edi
mov eax, edi
jmp 0x18003dcdf
lea eax, [rbx + 0x14]
cmp eax, 0xd
ja 0x18003d3e5
mov ecx, 0x2201
bt ecx, eax
jb 0x18003d3e8
mov r13d, edi
mov eax, edi
jmp 0x18003dcdf
lea eax, [rbx + 0x15]
cmp eax, 0xc
ja 0x18003d3e5
mov ecx, 0x1805
bt ecx, eax
jb 0x18003d3e8
mov r13d, edi
mov eax, edi
jmp 0x18003dcdf
lea eax, [rbx + 0xb]
test eax, 0xfffffffb
mov eax, 0
sete al
jmp 0x18003dcdf
mov edx, dword [rsi]
lea eax, [rdx - 6]
cmp eax, 0x18
ja case.0x18003d646.12
lea r11, [0x180000000]
cdqe
mov ecx, dword [r11 + rax*4 + 0x3df58]
add rcx, r11
jmp rcx
mov rax, qword [rsp + 0x48]
cmp dword [rax], 0
je 0x18003d6bc
cmp dword [r15], 0x7f
jle 0x18003d6bc
mov r10, qword [rbp + 0x390]
movzx eax, byte [r10]
mov dword [r15], eax
cmp eax, 0xc0
jb 0x18003d6bc
mov edx, eax
mov eax, edx
and eax, 0x3f
movzx ecx, byte [rax + r11 + 0x7aa10]
mov r9d, ecx
mov eax, dword [r11 + rcx*4 + 0x7a9f8]
lea r8d, [rcx + rcx*2]
add r8d, r8d
and eax, edx
mov ecx, r8d
shl eax, cl
mov dword [r15], eax
cmp r13, r9
ja 0x18003d6bc
nop
movzx eax, byte [r10 + r13]
sub r8d, 6
and eax, 0x3f
mov ecx, r8d
shl eax, cl
inc r13
or dword [r15], eax
cmp r13, r9
jle 0x18003d6a0
cmp dword [r15], ebx
mov eax, 0
setne al
jmp 0x18003dcdf
mov rax, qword [rsp + 0x48]
cmp dword [rax], 0
je 0x18003d751
cmp dword [r15], 0x7f
jle 0x18003d751
mov r10, qword [rbp + 0x390]
movzx eax, byte [r10]
mov dword [r15], eax
cmp eax, 0xc0
jb 0x18003d74c
mov edx, eax
mov eax, edx
and eax, 0x3f
movzx ecx, byte [rax + r11 + 0x7aa10]
mov r9d, ecx
mov eax, dword [r11 + rcx*4 + 0x7a9f8]
lea r8d, [rcx + rcx*2]
add r8d, r8d
and eax, edx
mov ecx, r8d
shl eax, cl
mov dword [r15], eax
cmp r13, r9
ja 0x18003d74c
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r10 + r13]
sub r8d, 6
and eax, 0x3f
mov ecx, r8d
shl eax, cl
inc r13
or dword [r15], eax
cmp r13, r9
jle 0x18003d730
mov rax, qword [rsp + 0x48]
mov r8d, dword [r15]
cmp r8d, ebx
je case.0x18003d646.12
cmp dword [rax], 0
je 0x18003d78c
cmp ebx, 0x80
jge 0x18003d777
mov rax, qword [r14 + 8]
movsxd rcx, ebx
movzx esi, byte [rax + rcx]
jmp 0x18003d77c
mov esi, 0xffffffff
cmp r8d, esi
mov eax, 0
setne al
jmp 0x18003dcdf
mov rax, qword [r14 + 8]
movsxd rcx, ebx
movzx edx, byte [rax + rcx]
mov eax, 0
cmp r8d, edx
setne al
jmp 0x18003dcdf
mov r8d, dword [r15]
cmp r8d, ebx
je 0x18003de3f
mov rax, qword [rbp - 0x58]
test byte [rax], r13b
je case.0x18003d646.12
mov rax, qword [rsp + 0x48]
cmp dword [rax], 0
je 0x18003d7f4
cmp ebx, 0x80
jge 0x18003d7df
mov rax, qword [r14 + 8]
movsxd rcx, ebx
movzx esi, byte [rax + rcx]
jmp 0x18003d7e4
mov esi, 0xffffffff
cmp r8d, esi
mov eax, 0
sete al
jmp 0x18003dcdf
mov rax, qword [r14 + 8]
movsxd rcx, ebx
movzx edx, byte [rax + rcx]
mov eax, 0
cmp r8d, edx
sete al
jmp 0x18003dcdf
cmp ebx, 0x7f
jg 0x18003d3c6
movsxd rcx, ebx
jmp 0x18003d3bc
cmp ebx, 0x7f
jg 0x18003d3e5
mov rax, qword [r14 + 0x18]
movsxd rcx, ebx
test byte [rcx + rax], 4
jne 0x18003d3e8
mov r13d, edi
mov eax, edi
jmp 0x18003dcdf
cmp ebx, 0x7f
jg 0x18003d3c6
mov rax, qword [r14 + 0x18]
movsxd rcx, ebx
test byte [rcx + rax], r13b
jmp 0x18003d3c4
cmp ebx, 0x7f
jg 0x18003d3e5
mov rax, qword [r14 + 0x18]
movsxd rcx, ebx
test byte [rcx + rax], r13b
jne 0x18003d3e8
mov r13d, edi
mov eax, edi
jmp 0x18003dcdf
cmp ebx, 0x7f
jg 0x18003d3c6
mov rax, qword [r14 + 0x18]
movsxd rcx, ebx
test byte [rcx + rax], 0x10
jmp 0x18003d3c4
cmp ebx, 0x7f
jg 0x18003d3e5
mov rax, qword [r14 + 0x18]
movsxd rcx, ebx
test byte [rcx + rax], 0x10
jne 0x18003d3e8
mov r13d, edi
mov eax, edi
jmp 0x18003dcdf
cmp ebx, 0x2000
jg 0x18003d8fa
je case.0x18003d925.8193
cmp ebx, 9
je case.0x18003d925.8193
cmp ebx, 0x20
je case.0x18003d925.8193
cmp ebx, 0xa0
je case.0x18003d925.8193
cmp ebx, 0x1680
je case.0x18003d925.8193
cmp ebx, 0x180e
je case.0x18003d925.8193
cmp edx, 0x13
mov eax, 0
sete al
jmp 0x18003dcdf
cmp ebx, 0x3000
jg case.0x18003d925.8194
je case.0x18003d925.8193
lea eax, [rbx - 0x2001]
cmp eax, 0x5e
ja case.0x18003d925.8194
cdqe
movzx eax, byte [r11 + rax + 0x3dfc4]
mov ecx, dword [r11 + rax*4 + 0x3dfbc]
add rcx, r11
jmp rcx
cmp edx, 0x13
mov eax, 0
setne al
jmp 0x18003dcdf
cmp ebx, 0xd
jg 0x18003d948
je 0x18003d96d
sub ebx, 0xa
je 0x18003d96d
sub ebx, r13d
jmp 0x18003d956
sub ebx, 0x85
je 0x18003d96d
sub ebx, 0x1fa3
je 0x18003d96d
cmp ebx, r13d
je 0x18003d96d
cmp edx, 0x15
mov eax, 0
sete al
jmp 0x18003dcdf
cmp edx, 0x15
mov eax, 0
setne al
jmp 0x18003dcdf
xor edx, edx
mov r8, rcx
xor r9d, r9d
lea ecx, [rdx + 0x79]
call fcn.180061170
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x24], 0xb
mov eax, dword [rsp + 0x44]
jmp 0x18003dcdf
mov edi, dword [rsp + 0x38]
mov dword [rsp + 0x40], edi
jmp 0x18003d9af
mov edi, dword [rsp + 0x40]
mov r14d, dword [rbp + 0x3a0]
mov r12d, r14d
mov ebx, dword [rsp + 0x44]
imul r13d, r14d, 0x6e
mov dword [rbp - 0x80], r13d
cmp r14d, r13d
ja 0x18003dcdd
nop
cmp r12d, 0x630
ja 0x18003dca0
je 0x18003dc99
mov eax, r12d
sub eax, 0x28
je 0x18003dc1e
sub eax, 0x68
je 0x18003dafe
sub eax, 0x128
je 0x18003dac8
sub eax, 0x190
je 0x18003da4d
cmp eax, 0x190
jne 0x18003de1e
mov eax, dword [r8 + 0x20]
lea r9, [rsp + 0x44]
mov edi, 4
lea rdx, [rsp + 0x38]
mov r8d, 0x77
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x58]
mov dword [rsp + 0x38], 4
mov dword [rsp + 0x58], eax
call fcn.18002aa40
jmp 0x18003de10
mov r9, qword [rsi]
lea rcx, [rsp + 0x44]
mov r14d, 1
mov r8, rdi
mov edx, r14d
call qword [r15]
cmp rax, rdi
jne case.0x18003d646.12
mov rax, qword [rsp + 0x48]
lea r9, [rsp + 0x44]
mov edi, 4
lea r8d, [r14 + 0x76]
lea rdx, [rsp + 0x38]
mov dword [rsp + 0x40], edi
lea rcx, [rbp - 0x78]
mov dword [rsp + 0x38], 4
mov eax, dword [rax + 0x1c]
mov dword [rbp - 0x78], eax
call fcn.18002aa40
mov r9, qword [rsi]
lea r8d, [r14 + 3]
mov edx, r14d
lea rcx, [rsp + 0x44]
call qword [r15]
cmp rax, 4
jne case.0x18003d646.12
mov r14d, dword [rbp + 0x3a0]
jmp 0x18003de10
mov eax, dword [r8 + 0x18]
lea r9, [rsp + 0x44]
mov edi, 4
lea rdx, [rsp + 0x38]
mov r8d, 0x77
mov dword [rsp + 0x40], edi
lea rcx, [rbp - 0x60]
mov dword [rsp + 0x38], 4
mov dword [rbp - 0x60], eax
call fcn.18002aa40
jmp 0x18003de10
mov edi, dword [rsi]
mov esi, dword [r15]
dec edi
cmp edi, esi
jl 0x18003dbe2
mov r13d, dword [rsp + 0x30]
movsxd rax, edi
lea r15, [r8 + rax*8]
nop dword [rax]
test esi, esi
jle 0x18003dbd3
comisd xmm7, xmmword [r15]
lea r14d, [rsi - 1]
jb 0x18003db7b
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r11, qword [rsp + 0x78]
movd xmm0, eax
mov rax, qword [rbp - 0x50]
cvtdq2pd xmm0, xmm0
mov eax, dword [rax]
imul eax, r14d
add eax, edi
movsxd rcx, eax
mulsd xmm0, qword [r11 + rcx*8]
movsd xmm1, qword [r11 + rcx*8 - 8]
comisd xmm0, xmm1
jb 0x18003db75
bts r13d, edi
mov dword [rsp + 0x30], r13d
comisd xmm0, xmm1
cmovb r14d, esi
jmp 0x18003dbc2
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r11, qword [rsp + 0x78]
movd xmm1, eax
mov rax, qword [rbp - 0x50]
cvtdq2pd xmm1, xmm1
mov eax, dword [rax]
imul eax, r14d
add eax, edi
cdqe
movsd xmm0, qword [r11 + rax*8 - 8]
divsd xmm0, qword [r15]
mulsd xmm1, qword [r11 + rax*8]
comisd xmm1, xmm0
jb 0x18003dbc5
mov ecx, dword [rsp + 0x30]
bts ecx, edi
mov dword [rsp + 0x30], ecx
mov r13d, ecx
mov esi, r14d
dec edi
sub r15, 8
cmp edi, esi
jge 0x18003db20
mov r13d, dword [rbp - 0x80]
mov r15, qword [rbp - 0x40]
mov r14d, dword [rbp + 0x3a0]
lea rax, [rbp - 0x30]
cmp r11, rax
je 0x18003dbf4
mov rcx, r11
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edi, dword [rsp + 0x40]
test esi, esi
jle 0x18003de0c
mov ecx, esi
mov eax, 1
mov rsi, qword [rbp - 0x50]
shl eax, cl
mov ecx, dword [rsp + 0x30]
dec eax
or ecx, eax
mov dword [rsp + 0x30], ecx
jmp 0x18003de14
mov dword [rsp + 0x58], edx
lea r9, [rsp + 0x44]
lea rdx, [rsp + 0x38]
mov dword [rsp + 0x38], edi
mov r8d, 0x77
lea rcx, [rsp + 0x58]
call fcn.18002aa40
mov r9, qword [rsi]
lea rcx, [rsp + 0x44]
mov r14d, 1
mov r8, rdi
mov edx, r14d
call qword [r15]
cmp rax, rdi
jne case.0x18003d646.12
mov rax, qword [rsp + 0x48]
mov edx, r14d
mov r9, qword [rsi]
mov r8, qword [rsp + 0x60]
mov rcx, qword [rax + 0x10]
call qword [r15]
mov rdx, qword [rsp + 0x60]
cmp rax, rdx
jne case.0x18003d646.12
mov ecx, dword [rsp + 0x30]
mov edi, dword [rsp + 0x40]
mov r14d, dword [rbp + 0x3a0]
jmp 0x18003de19
mov ebx, ecx
jmp 0x18003de1e
cmp r12d, 0x668
je 0x18003dd99
cmp r12d, 0x7f8
je 0x18003dd73
cmp r12d, 0x988
je 0x18003dd12
cmp r12d, 0xb18
je 0x18003de39
cmp r12d, 0xbd0
jne 0x18003de1e
mov eax, ebx
mov rcx, qword [rbp + 0x2f0]
xor rcx, rsp
call fcn.180077c10
movaps xmm6, xmmword [rsp + 0x410]
movaps xmm7, xmmword [rsp + 0x400]
add rsp, 0x428
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r9, qword [rsi]
lea rcx, [rsp + 0x44]
mov r14d, 1
mov r8, rdi
mov edx, r14d
call qword [r15]
cmp rax, rdi
jne case.0x18003d646.12
mov rax, qword [rsp + 0x48]
mov edx, r14d
mov r9, qword [rsi]
mov r8d, dword [rax + 0x28]
mov rcx, qword [rax + 0x30]
call qword [r15]
mov r8, qword [rsp + 0x48]
mov ecx, dword [r8 + 0x28]
cmp rax, rcx
jne case.0x18003d646.12
mov ecx, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x60]
mov edi, dword [rsp + 0x40]
mov r14d, dword [rbp + 0x3a0]
jmp 0x18003de1e
mov eax, dword [r8 + 0x28]
lea r9, [rsp + 0x44]
mov r8d, 0x77
mov dword [rsp + 0x38], edi
lea rdx, [rsp + 0x38]
mov dword [rbp - 0x68], eax
lea rcx, [rbp - 0x68]
call fcn.18002aa40
jmp 0x18003de10
mov r9, qword [rsi]
lea rcx, [rsp + 0x44]
mov r14d, 1
mov r8, rdi
mov edx, r14d
call qword [r15]
cmp rax, rdi
jne case.0x18003d646.12
mov rax, qword [rsp + 0x48]
lea r9, [rsp + 0x44]
lea r8d, [r14 + 0x76]
mov dword [rsp + 0x38], 4
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x58], eax
call fcn.18002aa40
mov r9, qword [rsi]
lea r8d, [r14 + 3]
mov edx, r14d
lea rcx, [rsp + 0x44]
call qword [r15]
cmp rax, 4
jne case.0x18003d646.12
mov r14d, dword [rbp + 0x3a0]
mov edi, eax
mov dword [rsp + 0x40], edi
jmp 0x18003de10
mov rsi, qword [rbp - 0x50]
mov ecx, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x48]
lea eax, [r14 + r14*4]
lea r12d, [r12 + rax*2]
cmp r12d, r13d
ja 0x18003dcdd
mov r11, qword [rsp + 0x78]
jmp 0x18003d9d0
mov r13d, 1
mov eax, r13d
jmp 0x18003dcdf
xor eax, eax
jmp 0x18003dcdf