Function at 0x1401e4330
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
movaps xmmword [rsp + 0x100], xmm6
mov qword [rsp + 0x48], rdx
mov rbp, qword [r9]
test rbp, rbp
je 0x1401e4e07
mov r13, rcx
mov qword [rsp + 0xa8], r8
mov rbx, qword [rsp + 0x1c8]
mov rsi, rbx
shr rsi, 0x20
test esi, esi
mov qword [rsp + 0xd0], rsi
je 0x1401e43d3
mov r14d, dword [rsp + 0x1a8]
mov ecx, dword [rsp + 0x1a0]
mov r15d, dword [rsp + 0x198]
mov edx, ebx
mov r8d, esi
call fcn.14027e6c0
mov edi, eax
mov ecx, r15d
mov edx, ebx
mov r8d, esi
call fcn.14027e6c0
sub edi, eax
mov ecx, r14d
mov edx, ebx
mov r8d, esi
call fcn.14027e6c0
mov r14d, eax
mov ecx, r15d
mov edx, ebx
mov r8d, esi
call fcn.14027e6c0
jmp 0x1401e43da
xor r14d, r14d
xor edi, edi
xor eax, eax
mov qword [rsp + 0x98], rax
mov r12d, dword [rsp + 0x1b8]
mov ebx, dword [rsp + 0x1b0]
cmp dword [rbp + 0x30], 0
mov dword [rsp + 0xa0], edi
je 0x1401e44fe
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x38]
cmp eax, 0xffffffff
je 0x1401e44fe
mov rcx, qword [rsp + 0x48]
cmp byte [rcx + 0x40], 0
je 0x1401e448f
mov r15d, r14d
mov r14, qword [rsp + 0xd0]
test r14d, r14d
je 0x1401e44ab
mov ecx, ebx
mov rdi, rbx
mov rbx, qword [rsp + 0x1c8]
mov edx, ebx
mov r8d, r14d
call fcn.14027e6c0
mov dword [rsp + 0x58], eax
lea ecx, [r12 + rdi]
mov edx, ebx
mov r8d, r14d
call fcn.14027e6c0
mov esi, eax
mov ecx, edi
mov edx, ebx
mov r8d, r14d
call fcn.14027e6c0
sub esi, eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x38]
cmp eax, 0xffffffff
je 0x1401e44c6
mov r14d, r15d
mov ebx, dword [rsp + 0x1b0]
mov edi, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
cmp byte [rcx + 0x64], 0
jne 0x1401e44bd
jmp 0x1401e44d9
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 2
mov rcx, r13
mov rdx, qword [rsp + 0x98]
mov r8d, r14d
jmp 0x1401e44f6
xor esi, esi
xor edi, edi
mov r14d, r15d
mov rcx, qword [rsp + 0x48]
cmp byte [rcx + 0x64], 0
je 0x1401e44d9
mov ecx, eax
call fcn.1402a5400
jmp 0x1401e44d9
mov eax, 0xffffffff
mov r14d, r15d
mov ebx, dword [rsp + 0x1b0]
mov edi, dword [rsp + 0x58]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
mov rcx, r13
mov rdx, qword [rsp + 0x98]
mov r8d, edi
mov edi, dword [rsp + 0xa0]
mov r9d, edi
call fcn.14017c910
mov eax, dword [rbp + 0x10]
cmp eax, 0xffffffff
mov dword [rsp + 0x54], r14d
je 0x1401e45d0
cmp byte [rsp + 0x1d0], 0
jne 0x1401e45d0
mov rcx, qword [rsp + 0x48]
cmp dword [rcx + 0x3c], 0xffffffff
jne 0x1401e45d0
mov rsi, qword [rsp + 0xd0]
test esi, esi
je 0x1401e459f
mov ecx, ebx
mov r15, r13
mov r13, rbx
mov rbx, qword [rsp + 0x1c8]
mov edx, ebx
mov r8d, esi
call fcn.14027e6c0
mov r14d, eax
add r12d, r13d
mov ecx, r12d
mov edx, ebx
mov r8d, esi
call fcn.14027e6c0
mov r12d, eax
mov ecx, r13d
mov r13, r15
mov edx, ebx
mov r8d, esi
call fcn.14027e6c0
sub r12d, eax
mov eax, dword [rbp + 0x10]
cmp eax, 0xffffffff
mov rbx, qword [rsp + 0x98]
je 0x1401e45b2
mov rcx, qword [rsp + 0x48]
cmp byte [rcx + 0x64], 0
je 0x1401e45b7
mov ecx, eax
call fcn.1402a5400
jmp 0x1401e45b7
xor r14d, r14d
xor r12d, r12d
cmp eax, 0xffffffff
mov rbx, qword [rsp + 0x98]
jne 0x1401e458b
mov eax, 0xffffffff
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r12d
mov rcx, r13
mov edx, ebx
mov r8d, r14d
mov r9d, edi
call fcn.14017c910
mov rsi, qword [rbp]
mov qword [rsp + 0xc0], rsi
mov rcx, rbp
call fcn.140175ff0
xor ebx, ebx
mov edi, 0
mov r8, qword [rsp + 0xd0]
test r8d, r8d
je 0x1401e460e
mov ecx, eax
neg ecx
cmovs ecx, eax
mov rdx, qword [rsp + 0x1c8]
call fcn.14027e6c0
mov edi, eax
test byte [rbp + 0x38], 3
je 0x1401e4686
movabs rax, 0xffff000000000000
and rax, rsi
movzx ecx, di
shl rcx, 0x20
or rcx, rax
mov eax, esi
or rax, rcx
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x60]
call fcn.1401793c0
mov qword [rsp + 0x80], rax
lea rsi, [rsp + 0x80]
mov rcx, rsi
call fcn.140178980
mov eax, dword [rax]
mov dword [rsp + 0xcc], eax
mov rcx, rsi
call fcn.140178980
mov ebx, dword [rax + 4]
lea eax, [rdi + rdi*2]
cdqe
imul rdi, rax, 0x66666667
mov rax, rdi
shr rax, 0x3f
sar rdi, 0x21
add edi, eax
jmp 0x1401e4691
mov dword [rsp + 0xcc], 0
test edi, edi
mov eax, 1
cmovne eax, edi
mov word [rsp + 0xc4], ax
lea rcx, [rsp + 0xc0]
call fcn.1401793c0
mov qword [rsp + 0xb8], rax
mov esi, dword [rbp + 0xc]
mov rax, qword [rsp + 0x48]
mov edi, dword [rax + 0x3c]
cmp byte [rax + 0x64], 0
mov qword [rsp + 0x58], r13
mov dword [rsp + 0xdc], ebx
je 0x1401e46de
mov ecx, esi
call fcn.1402a5400
mov esi, eax
call fcn.14017a9e0
cmp esi, 0xffffffff
cmovne eax, esi
cmp edi, 0xffffffff
cmovne eax, edi
mov dword [rsp + 0x7c], eax
mov qword [rsp + 0xe0], rbp
cmp byte [rbp + 0x3d], 0
mov r14, qword [rsp + 0x98]
mov r13d, dword [rsp + 0xa0]
je 0x1401e47cc
lea rcx, [rsp + 0xb8]
call fcn.140178980
movsxd rax, dword [rax]
imul rax, rax, 0x66666667
mov rcx, rax
shr rcx, 0x3f
sar rax, 0x21
add eax, ecx
cmp eax, 3
mov r12d, 2
cmovge r12d, eax
test r13d, r13d
jle 0x1401e47cc
mov esi, r12d
shr esi, 1
xor edi, edi
lea r15, [rsp + 0xb8]
nop
lea ebp, [r14 + rdi]
mov rcx, r15
call fcn.140178980
mov eax, dword [rax + 4]
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, dword [rsp + 0x54]
mov rcx, r15
call fcn.140178980
movsxd rax, dword [rax + 4]
imul rax, rax, 0x55555556
mov rcx, rax
shr rcx, 0x3f
shr rax, 0x20
add eax, ecx
test eax, eax
mov ecx, 1
cmovle eax, ecx
mov ecx, dword [rsp + 0x7c]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x58]
mov edx, ebp
mov r8d, ebx
mov r9d, esi
call fcn.14017c910
add edi, r12d
cmp edi, r13d
jl 0x1401e4760
mov edi, dword [rsp + 0x7c]
mov rbp, qword [rsp + 0xe0]
cmp byte [rbp + 0x26], 0
je 0x1401e47ec
mov eax, dword [rbp + 0x20]
mov rsi, qword [rsp + 0x58]
test eax, eax
jne 0x1401e47f9
jmp 0x1401e4820
movsx eax, byte [rbp + 0x27]
mov rsi, qword [rsp + 0x58]
test eax, eax
je 0x1401e4820
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 0x34]
cmp ecx, 0xffffffff
je 0x1401e4820
movzx edx, word [rsp + 0xc2]
test edx, 0x2000
jne 0x1401e4820
cmp byte [rbp + 0x3d], 0
je 0x1401e4e23
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
test eax, eax
je 0x1401e4866
lea r8, [rbp + 0x18]
lea rdx, str.url:
lea rcx, [rsp + 0x60]
call fcn.1400e3860
mov rax, qword [rsi]
lea rdx, [rsp + 0x60]
mov rcx, rsi
call qword [rax + 0xf0]
cmp byte [rsp + 0x6e], 0
je 0x1401e4866
lea rcx, [rsp + 0x60]
call fcn.14030abf0
mov dword [rsp + 0x7c], edi
movsxd rax, dword [rsp + 0x188]
mov qword [rsp + 0xe8], rax
cmp dword [rsp + 0x190], 0
jle 0x1401e4c38
xor r13d, r13d
lea r15, [rsp + 0x60]
xorps xmm6, xmm6
mov rax, qword [rsp + 0x98]
mov edi, eax
jmp 0x1401e48c3
add edi, esi
lea rcx, [rsp + 0xb0]
call fcn.140193c20
add r13, 1
mov eax, dword [rsp + 0x190]
cmp r13, rax
je 0x1401e4c38
mov rax, qword [rsp + 0xe8]
lea rcx, [rax + r13]
mov rax, qword [rsp + 0x180]
mov esi, dword [rax + rcx*4]
mov qword [rsp + 0xb0], 0
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xa0], rcx
mov eax, dword [rax + rcx*4]
cmp eax, 0x20
jne 0x1401e4943
call fcn.1401e3c80
mov rcx, r15
lea rdx, [0x1405de1d0]
mov r8d, 4
call fcn.1401903a0
lea rcx, [rsp + 0xb0]
mov rdx, r15
call fcn.1401892d0
mov rcx, r15
call fcn.140193c20
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rax + rcx*4]
cmp eax, 0xa0
jne 0x1401e498f
call fcn.1401e3c80
mov rcx, r15
lea rdx, [0x1405de1d0]
mov r8d, 5
call fcn.1401903a0
lea rcx, [rsp + 0xb0]
mov rdx, r15
call fcn.1401892d0
mov rcx, r15
call fcn.140193c20
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rax + rcx*4]
lea ecx, [rax - 9]
cmp ecx, 3
ja 0x1401e4b98
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], rdi
cmp eax, 0xa
jb 0x1401e4a80
mov eax, ecx
lea rcx, str._.__Default
mov bl, byte [rax + rcx]
movsx edx, bl
lea rcx, [rsp + 0xb8]
call fcn.140178d90
mov r12d, eax
mov rcx, qword [rsp + 0xf8]
lea r14d, [rcx + r12]
add r14d, 0xffffffff
mov eax, r14d
cdq
idiv r12d
sub r14d, edx
mov rax, qword [rsp + 0xf0]
lea esi, [rax + rcx]
lea ebp, [r14 + r12]
jmp 0x1401e4a06
add ebp, r12d
add r14d, r12d
cmp ebp, esi
jge 0x1401e4a80
lea rcx, [rsp + 0xb8]
call fcn.140178980
mov edi, dword [rax]
movaps xmmword [rsp + 0x60], xmm6
mov rcx, r15
xor edx, edx
mov r8d, 1
xor r9d, r9d
call fcn.14030e5e0
mov r8d, dword [rsp + 0x54]
sub r8d, edi
mov byte [rax], bl
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x58]
mov edx, r14d
mov r9, r15
call fcn.1401805a0
cmp byte [rsp + 0x6e], 0
je 0x1401e4a00
mov rcx, r15
call fcn.14030abf0
jmp 0x1401e4a00
call fcn.1401e3c80
mov rcx, r15
lea rdx, [0x1405de1d0]
mov r8d, 3
call fcn.1401903a0
lea rcx, [rsp + 0xb0]
mov rdx, r15
call fcn.1401892d0
mov rdi, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0xf0]
mov rcx, r15
call fcn.140193c20
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rax + rcx*4]
shl rax, 0x20
mov ebx, ecx
or rbx, rax
movsxd rcx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x8c]
mov r14, qword [rsp + 0x80]
cmp ecx, eax
jge 0x1401e4b10
lea eax, [rcx + 1]
mov dword [rsp + 0x88], eax
mov qword [r14 + rcx*8], rbx
jmp 0x1401e4b81
cmp eax, 0x7fffffff
jne 0x1401e4b2a
lea rcx, [0x1403cf092]
call fcn.140255450
mov eax, dword [rsp + 0x8c]
mov edx, eax
sar edx, 1
add edx, eax
cmp eax, 0x55555554
mov ecx, 0x7fffffff
cmovge edx, ecx
add eax, 1
cmp eax, edx
cmovg edx, eax
lea rcx, [rsp + 0x80]
call fcn.140227b20
mov rcx, qword [rsp + 0x80]
movsxd rdx, dword [rsp + 0x88]
lea ebp, [rdx + 1]
mov dword [rsp + 0x88], ebp
mov qword [rcx + rdx*8], rbx
test al, al
je 0x1401e4b81
test r14, r14
je 0x1401e4b81
mov rcx, r14
call fcn.140309590
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa0]
mov dword [rax + rcx*4], 0x20
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x1401e48a0
cmp qword [rax + 0x30], 0
je 0x1401e48a0
mov rcx, qword [rsp + 0x48]
cmp dword [rcx + 0x44], 0xffffffff
je 0x1401e48a0
mov ebx, dword [rax + 0x24]
mov ebp, dword [rax + 0x28]
mov r8, qword [rsp + 0xd0]
test r8d, r8d
je 0x1401e4bf4
mov ecx, dword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x1c8]
call fcn.14027e6c0
cmp ebp, eax
jge 0x1401e48a0
jmp 0x1401e4bfe
xor eax, eax
cmp ebp, eax
jge 0x1401e48a0
mov eax, esi
sub eax, ebx
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
add edx, edi
mov r8d, dword [rsp + 0x54]
sub r8d, ebp
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x58]
lea r9, [rsp + 0xb0]
call fcn.14017cd10
jmp 0x1401e48a0
mov r15, qword [rsp + 0xe0]
mov eax, dword [r15 + 0x38]
and eax, 3
cmp eax, 1
je 0x1401e4c90
cmp eax, 2
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xa8]
mov ebx, dword [rsp + 0x54]
jne 0x1401e4caa
lea rcx, [rsp + 0xb8]
call fcn.140178980
mov edi, dword [rax]
lea rcx, [rsp + 0xb8]
call fcn.140178980
mov ecx, dword [rsp + 0xdc]
add ecx, ebx
add edi, dword [rax + 4]
sub ecx, edi
mov ebx, ecx
jmp 0x1401e4cb9
mov ebx, dword [rsp + 0x54]
sub ebx, dword [rsp + 0xcc]
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xa8]
jmp 0x1401e4cb9
lea rcx, [rsp + 0xb8]
call fcn.140178980
sub ebx, dword [rax]
mov rdx, qword [rsp + 0xe8]
lea r9, [rsi + rdx*4]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x180]
lea rcx, [rcx + rdx*4]
mov qword [rsp + 0x38], rcx
mov ecx, dword [rsp + 0x190]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x7c]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, qword [rsp + 0x98]
mov r8d, ebx
call fcn.1401800a0
mov edx, dword [rsp + 0x88]
test edx, edx
jle 0x1401e4da4
mov rcx, qword [rsp + 0x80]
lea rbp, [rdx - 1]
mov eax, edx
and eax, 3
cmp rbp, 3
jae 0x1401e4d33
xor ebp, ebp
jmp 0x1401e4d78
and edx, 0xfffffffc
xor ebp, ebp
nop dword [rax + rax]
mov ebx, dword [rcx + rbp*8 + 4]
movsxd rdi, dword [rcx + rbp*8]
mov dword [rsi + rdi*4], ebx
mov ebx, dword [rcx + rbp*8 + 0xc]
movsxd rdi, dword [rcx + rbp*8 + 8]
mov dword [rsi + rdi*4], ebx
mov ebx, dword [rcx + rbp*8 + 0x14]
movsxd rdi, dword [rcx + rbp*8 + 0x10]
mov dword [rsi + rdi*4], ebx
mov ebx, dword [rcx + rbp*8 + 0x1c]
movsxd rdi, dword [rcx + rbp*8 + 0x18]
mov dword [rsi + rdi*4], ebx
add rbp, 4
cmp rdx, rbp
jne 0x1401e4d40
test rax, rax
je 0x1401e4da4
lea rcx, [rcx + rbp*8]
add rcx, 4
xor edx, edx
nop word [rax + rax]
mov ebp, dword [rcx + rdx*8]
movsxd rbx, dword [rcx + rdx*8 - 4]
mov dword [rsi + rbx*4], ebp
add rdx, 1
cmp rax, rdx
jne 0x1401e4d90
cmp byte [r15 + 0x26], 0
je 0x1401e4db5
mov eax, dword [r15 + 0x20]
test eax, eax
jne 0x1401e4dbe
jmp 0x1401e4df5
movsx eax, byte [r15 + 0x27]
test eax, eax
je 0x1401e4df5
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x6f], 4
mov dword [rsp + 0x60], 0x3a6c7275
mov rax, qword [r14]
lea rdx, [rsp + 0x60]
mov rcx, r14
call qword [rax + 0xf0]
cmp byte [rsp + 0x6e], 0
je 0x1401e4df5
lea rcx, [rsp + 0x60]
call fcn.14030abf0
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x1401e4e07
call fcn.140309590
movaps xmm6, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
or edx, 0x2000
mov word [rsp + 0xc2], dx
mov rdx, qword [rsp + 0x48]
cmp dword [rdx + 0x3c], 0xffffffff
cmovne ecx, edi
cmp byte [rdx + 0x64], 0
cmove edi, ecx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
test eax, eax
jne 0x1401e482f
jmp 0x1401e4866