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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov r15, qword [rcx]
mov r12, rdx
mov rax, qword [rcx + 0x10]
mov rbx, rcx
mov rcx, qword [r9 + 0x20]
mov r11, r8
mov rdx, qword [rdx + 0x20]
xor r8d, r8d
mov edi, r8d
mov qword [rsp + 0x48], rcx
mov esi, r8d
mov qword [rsp + 0x38], r15
mov r10d, r8d
mov word [rsp + 0x20], r8w
lea ebp, [r8 + 2]
mov qword [rsp + 0x40], rax
lea ecx, [rbp - 1]
mov dword [rsp + 0x24], r8d
cmp dword [r12 + 0x14], r8d
jle 0x1400e4511
mov r15d, ecx
movzx ecx, word [rdx + 0x12]
mov eax, 0xffbf
and cx, ax
mov word [rdx + 0x12], cx
mov r8d, dword [r9 + 0x44]
cmp dword [rdx + 0x1c], r8d
jne 0x1400e44ee
test qword [rdx + 0x28], r11
jne 0x1400e44ee
movzx eax, word [rdx + 0x14]
test eax, 0xfffff7ff
je 0x1400e44ee
test cl, cl
js 0x1400e44ee
test byte [r9 + 0x3c], 0x58
je 0x1400e44e3
mov rax, qword [rdx]
test byte [rax + 4], 3
je 0x1400e44ee
cmp dword [rax + 0x34], r8d
jne 0x1400e44ee
test byte [r9 + 0x3c], 0x18
je 0x1400e44e3
test byte [rax + 4], bpl
jne 0x1400e44ee
add esi, r15d
or cx, 0x40
mov word [rdx + 0x12], cx
add r10d, r15d
add rdx, 0x38
cmp r10d, dword [r12 + 0x14]
jl 0x1400e4491
mov r15, qword [rsp + 0x38]
xor r8d, r8d
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x24], esi
lea ecx, [r8 + 1]
mov dword [rsp + 0x30], r8d
mov r13d, r8d
test rax, rax
je 0x1400e463d
movsxd rbp, dword [rax]
mov r14d, r8d
mov r12, rbp
test ebp, ebp
jle 0x1400e4614
mov rdi, qword [rsp + 0xa8]
lea rsi, [rax + 0x18]
mov r13, qword [rsp + 0x48]
xor ebp, ebp
mov r15d, ebp
mov rbx, qword [rsi - 0x10]
mov edx, ecx
mov rcx, rbx
xor r8d, r8d
call fcn.1400f2ea0
test eax, eax
jne 0x1400e45da
test byte [rsi], 2
jne 0x1400e45f4
cmp byte [rbx], 0xa7
jne 0x1400e4574
mov eax, dword [rdi + 0x44]
cmp dword [rbx + 0x2c], eax
jmp 0x1400e45d8
cmp byte [rbx], 0x71
jne 0x1400e45f4
mov rcx, qword [rbx + 0x10]
cmp byte [rcx], 0xa7
jne 0x1400e45f4
mov eax, dword [rdi + 0x44]
cmp dword [rcx + 0x2c], eax
jne 0x1400e45f4
movzx eax, word [rcx + 0x30]
mov word [rbx + 0x30], ax
cmp word [rcx + 0x30], bp
jl 0x1400e45da
movsx rax, word [rcx + 0x30]
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 8]
lea rcx, [rax + rcx*8]
call fcn.140136b40
mov rcx, qword [rbx + 8]
lea rdx, [0x14022cadc]
test rax, rax
cmovne rdx, rax
test rcx, rcx
jne 0x1400e45cc
neg rdx
sbb eax, eax
jmp 0x1400e45d6
test rdx, rdx
je 0x1400e45f4
call fcn.14015e960
test eax, eax
jne 0x1400e45f4
mov ecx, 1
add rsi, 0x20
add r14d, ecx
add r15, rcx
cmp r15, r12
jl 0x1400e4549
jmp 0x1400e45f9
mov ecx, 1
mov r13d, dword [rsp + 0x30]
mov edi, ebp
mov r15, qword [rsp + 0x38]
mov ebp, r12d
mov rbx, qword [rsp + 0x90]
mov esi, dword [rsp + 0x24]
mov r12, qword [rsp + 0x98]
cmp r14d, ebp
jne 0x1400e463d
movzx eax, word [rbx + 0x3c]
mov r13d, ebp
test al, al
jns 0x1400e4638
mov edi, eax
shr edi, 9
and edi, ecx
add edi, 2
jmp 0x1400e463d
test al, 0x40
cmovne edi, ecx
mov rcx, qword [r15]
movsxd rbp, r13d
movsxd rsi, esi
imul rdx, rsi, 0x1c
mov qword [rsp + 0xa8], rbp
add rdx, 0x88
lea rdx, [rdx + rbp*8]
call fcn.140139434
xor r13d, r13d
mov rbx, rax
test rax, rax
jne 0x1400e4683
lea rdx, str.out_of_memory
mov rcx, r15
call fcn.14013b4ec
xor eax, eax
jmp 0x1400e482d
lea r8, [rax + 0x80]
mov qword [rbx + 0x60], r12
lea r8, [r8 + rsi*8]
mov qword [rbx + 0x68], r15
mov qword [rbx + 8], r8
lea rax, [rsi + rsi*2]
lea r14, [r8 + rax*4]
mov dword [rbx + 0x70], edi
mov qword [rbx + 0x18], r14
lea rax, [r14 + rbp*8]
mov qword [rbx + 0x20], rax
mov r10d, r13d
mov dword [rbx + 0x74], r13d
mov r11d, r13d
mov ecx, 1
mov r9, qword [r12 + 0x20]
mov qword [rsp + 0x98], r14
cmp dword [r12 + 0x14], r13d
jle 0x1400e47cb
mov r14d, dword [rsp + 0x20]
lea edi, [rcx + 0xf]
add r8, 4
lea ebp, [rcx + 1]
test byte [r9 + 0x12], 0x40
je 0x1400e47a4
mov eax, dword [r9 + 0x20]
mov dword [r8 - 4], eax
mov eax, 0x3fff
mov dword [r8 + 4], r11d
movzx edx, word [r9 + 0x14]
and dx, ax
cmp dx, cx
jne 0x1400e476b
cmp word [r9 + 0x12], r13w
jl 0x1400e4733
mov ecx, r10d
mov edx, 1
shl edx, cl
mov eax, r13d
cmp r10d, 0x1f
mov ecx, 1
cmovle eax, edx
or dword [rbx + 0x74], eax
movzx edx, bp
mov byte [r8], dl
test dl, 0x3c
je 0x1400e479d
mov rcx, qword [r9]
mov rcx, qword [rcx + 0x18]
call fcn.14013fa34
mov ecx, 1
cmp eax, ecx
jle 0x1400e479d
cmp r10d, edi
jge 0x1400e4760
movzx r14d, r14w
bts r14d, r10d
cmp dx, di
jne 0x1400e4793
mov byte [r8], 8
jmp 0x1400e479d
cmp dx, 0x40
jne 0x1400e4777
mov al, byte [r9 + 0x17]
jmp 0x1400e478e
mov eax, 0x180
test ax, dx
je 0x1400e4736
mov eax, 0x100
cmp dx, ax
setne al
add al, 0x47
mov byte [r8], al
jmp 0x1400e479d
cmp dx, 4
jne 0x1400e479d
mov byte [r8], 0x20
add r10d, ecx
add r8, 0xc
add r11d, ecx
add r9, 0x38
cmp r11d, dword [r12 + 0x14]
jl 0x1400e46e7
mov rbp, qword [rsp + 0xa8]
mov dword [rsp + 0x20], r14d
mov r14, qword [rsp + 0x98]
mov dword [rbx], r10d
mov esi, r13d
test rbp, rbp
jle 0x1400e4818
mov rdi, qword [rsp + 0x40]
add rdi, 0x18
mov r15, qword [rdi - 0x10]
mov edx, ecx
mov rcx, r15
xor r8d, r8d
call fcn.1400f2ea0
mov ecx, 1
test eax, eax
jne 0x1400e480f
movsx eax, word [r15 + 0x30]
add esi, ecx
mov dword [r14], eax
mov al, byte [rdi]
and al, cl
mov byte [r14 + 4], al
add r14, 8
add rdi, 0x20
sub rbp, rcx
jne 0x1400e47df
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x20]
mov dword [rbx + 0x10], esi
mov word [rax], cx
mov rax, rbx
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret