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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x140193440]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r14d, dword [rcx + 0x80]
xor eax, eax
mov r11d, dword [rcx + 0x88]
mov r9, rdx
mov r15d, dword [rcx + 0x90]
lea rdx, [rsp + 0x68]
mov r10d, dword [rcx + 0x98]
mov r8d, eax
mov esi, dword [rcx + 0xa0]
mov ebp, dword [rcx + 0xa8]
mov r12d, dword [rcx + 0xb0]
mov r13d, dword [rcx + 0xb8]
mov dword [rsp], eax
mov qword [rsp + 0x50], rcx
nop dword [rax]
lea ecx, [r8*4]
add r8d, 4
add rcx, r9
lea rdx, [rdx + 0x10]
mov eax, dword [rcx]
bswap eax
mov dword [rdx - 0x18], eax
mov eax, dword [rcx + 4]
bswap eax
mov dword [rdx - 0x14], eax
mov eax, dword [rcx + 8]
bswap eax
mov dword [rdx - 0x10], eax
mov eax, dword [rcx + 0xc]
bswap eax
mov dword [rdx - 0xc], eax
cmp r8d, 0x10
jb 0x140043d40
mov eax, dword [rsp + 0x94]
xor r9d, r9d
mov edx, dword [rsp + 0x64]
mov edi, dword [rsp + 0x9c]
mov ebx, dword [rsp + 0x98]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x1c], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x14], eax
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x38], edx
nop dword [rax + rax]
test r9d, r9d
je 0x140043e93
mov r8d, edx
mov eax, edx
shr eax, 0x12
mov ecx, edx
and ecx, 0xfffff800
and r8d, 0x7ff
shl r8d, 0xe
or r8d, eax
mov eax, edx
shr eax, 7
xor r8d, eax
mov eax, edx
shl eax, 0xb
xor ecx, eax
mov eax, edx
shr eax, 3
mov edx, ebx
and edx, 3
shl ecx, 0xe
or r8d, ecx
shl edx, 0xd
xor r8d, eax
mov ecx, ebx
and ecx, 0xfffffffc
mov eax, ebx
shr eax, 0x13
or edx, eax
mov eax, ebx
shr eax, 0x11
xor edx, eax
lea eax, [rbx*4]
xor ecx, eax
mov eax, ebx
shr eax, 0xa
shl ecx, 0xd
or edx, ecx
xor edx, eax
mov eax, dword [rsp + 0xc]
add eax, r8d
add edx, eax
mov eax, dword [rsp + 0x3c]
add eax, edx
mov dword [rsp + 0x3c], eax
mov r9d, eax
mov ecx, esi
shl ecx, 0xe
mov eax, esi
shr eax, 0x19
xor ecx, esi
mov edx, esi
mov r8d, r11d
and edx, 0x3fff
or r8d, r14d
shl edx, 7
and r8d, r15d
or edx, eax
mov eax, esi
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, esi
shr eax, 6
xor edx, eax
mov eax, esi
shl eax, 0x13
xor ecx, eax
mov eax, r12d
xor eax, ebp
shl ecx, 7
or edx, ecx
and eax, esi
xor eax, r12d
lea rcx, [0x140152870]
add edx, eax
mov eax, dword [rsp]
add edx, dword [rcx + rax*4]
mov eax, r14d
shr eax, 0x16
add edx, r9d
add r13d, edx
mov ecx, r14d
shl ecx, 9
mov edx, r14d
and edx, 0x1ff
xor ecx, r14d
shl edx, 0xa
add r10d, r13d
or edx, eax
mov dword [rsp + 0x44], r10d
mov eax, r14d
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, r14d
shr eax, 2
xor edx, eax
mov eax, r14d
shl eax, 0x14
xor ecx, eax
mov eax, r11d
and eax, r14d
shl ecx, 0xa
or r8d, eax
or edx, ecx
add r8d, r13d
add r8d, edx
cmp dword [rsp], 0
mov dword [rsp + 4], r8d
je 0x140044001
mov edx, dword [rsp + 8]
mov r8d, edx
mov eax, edx
mov ecx, edx
shr eax, 0x12
and r8d, 0x7ff
and ecx, 0xfffff800
shl r8d, 0xe
or r8d, eax
mov eax, edx
shr eax, 7
xor r8d, eax
mov eax, edx
shl eax, 0xb
xor ecx, eax
mov eax, edx
shr eax, 3
mov edx, edi
and edx, 3
shl ecx, 0xe
or r8d, ecx
shl edx, 0xd
xor r8d, eax
mov ecx, edi
and ecx, 0xfffffffc
mov eax, edi
shr eax, 0x13
or edx, eax
mov eax, edi
shr eax, 0x11
xor edx, eax
lea eax, [rdi*4]
xor ecx, eax
mov eax, edi
shr eax, 0xa
shl ecx, 0xd
or edx, ecx
xor edx, eax
mov eax, dword [rsp + 0x14]
add eax, r8d
mov r8d, dword [rsp + 4]
add edx, eax
mov eax, dword [rsp + 0x38]
add eax, edx
mov dword [rsp + 0x38], eax
mov r10d, eax
jmp 0x140044006
mov r10d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x44]
mov eax, r13d
shr eax, 0x19
mov ecx, r13d
shl ecx, 0xe
mov edx, r13d
and edx, 0x3fff
xor ecx, r13d
shl edx, 7
or edx, eax
mov eax, r13d
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, r13d
shr eax, 6
xor edx, eax
mov eax, r13d
shl eax, 0x13
xor ecx, eax
mov eax, ebp
xor eax, esi
shl ecx, 7
or edx, ecx
and eax, r13d
mov ecx, dword [rsp]
xor eax, ebp
add edx, eax
lea rax, [0x140152870]
inc ecx
add edx, dword [rax + rcx*4]
mov eax, r8d
shr eax, 0x16
add edx, r10d
add r12d, edx
mov ecx, r8d
shl ecx, 9
add r15d, r12d
xor ecx, r8d
mov edx, r8d
and edx, 0x1ff
shl edx, 0xa
or edx, eax
mov eax, r8d
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, r8d
shr eax, 2
xor edx, eax
mov eax, r8d
shl eax, 0x14
xor ecx, eax
mov eax, r8d
shl ecx, 0xa
and eax, r14d
or edx, ecx
mov ecx, r8d
or ecx, r14d
and ecx, r11d
or ecx, eax
add r12d, ecx
add r12d, edx
cmp dword [rsp], 0
je 0x14004417d
mov r8d, r9d
mov eax, r9d
shr eax, 0x13
and r8d, 3
shl r8d, 0xd
mov ecx, r9d
or r8d, eax
and ecx, 0xfffffffc
mov eax, r9d
shr eax, 0x11
xor r8d, eax
lea eax, [r9*4]
xor ecx, eax
shr r9d, 0xa
shl ecx, 0xd
or r8d, ecx
xor r8d, r9d
mov r9d, dword [rsp + 0x10]
mov edx, r9d
mov eax, r9d
shr eax, 0x12
and edx, 0x7ff
shl edx, 0xe
mov ecx, r9d
or edx, eax
and ecx, 0xfffff800
mov eax, r9d
shr eax, 7
xor edx, eax
mov eax, r9d
shl eax, 0xb
xor ecx, eax
mov eax, r9d
shr eax, 3
shl ecx, 0xe
or edx, ecx
xor edx, eax
mov eax, dword [rsp + 0x1c]
add eax, r8d
mov r8d, dword [rsp + 4]
add edx, eax
mov eax, dword [rsp + 8]
add eax, edx
mov dword [rsp + 8], eax
mov r9d, eax
jmp 0x140044182
mov r9d, dword [rsp + 8]
mov eax, r15d
mov ecx, r15d
shr eax, 0x19
mov edx, r15d
and edx, 0x3fff
shl ecx, 0xe
xor ecx, r15d
shl edx, 7
or edx, eax
mov eax, r15d
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, r15d
shr eax, 6
xor edx, eax
mov eax, r15d
shl eax, 0x13
xor ecx, eax
mov eax, esi
xor eax, r13d
shl ecx, 7
or edx, ecx
and eax, r15d
mov ecx, dword [rsp]
xor eax, esi
add edx, eax
add ecx, 2
lea rax, [0x140152870]
add edx, dword [rax + rcx*4]
mov eax, r12d
shr eax, 0x16
add edx, r9d
add ebp, edx
mov ecx, r12d
shl ecx, 9
add r11d, ebp
xor ecx, r12d
mov edx, r12d
and edx, 0x1ff
shl edx, 0xa
or edx, eax
mov eax, r12d
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, r12d
shr eax, 2
xor edx, eax
mov eax, r12d
shl eax, 0x14
xor ecx, eax
mov eax, r8d
shl ecx, 0xa
and eax, r12d
or edx, ecx
mov ecx, r8d
or ecx, r12d
and ecx, r14d
or ecx, eax
add ebp, ecx
add ebp, edx
cmp dword [rsp], 0
je 0x1400442ee
mov edx, dword [rsp + 0x18]
mov r8d, edx
mov eax, edx
mov ecx, edx
shr eax, 0x12
and r8d, 0x7ff
and ecx, 0xfffff800
shl r8d, 0xe
or r8d, eax
mov eax, edx
shr eax, 7
xor r8d, eax
mov eax, edx
shl eax, 0xb
xor ecx, eax
mov eax, edx
shr eax, 3
mov edx, r10d
and edx, 3
shl ecx, 0xe
or r8d, ecx
shl edx, 0xd
xor r8d, eax
mov ecx, r10d
mov eax, r10d
and ecx, 0xfffffffc
shr eax, 0x13
or edx, eax
mov eax, r10d
shr eax, 0x11
xor edx, eax
lea eax, [r10*4]
xor ecx, eax
shr r10d, 0xa
mov eax, dword [rsp + 0x24]
add eax, r8d
shl ecx, 0xd
mov r8d, dword [rsp + 4]
or edx, ecx
xor edx, r10d
add edx, eax
mov eax, dword [rsp + 0x10]
add eax, edx
mov dword [rsp + 0x10], eax
mov r10d, eax
jmp 0x1400442f3
mov r10d, dword [rsp + 0x10]
mov eax, r11d
mov ecx, r11d
shr eax, 0x19
mov edx, r11d
and edx, 0x3fff
shl ecx, 0xe
xor ecx, r11d
shl edx, 7
or edx, eax
mov eax, r11d
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, r11d
shr eax, 6
xor edx, eax
mov eax, r11d
shl eax, 0x13
xor ecx, eax
mov eax, r13d
xor eax, r15d
shl ecx, 7
or edx, ecx
and eax, r11d
mov ecx, dword [rsp]
xor eax, r13d
add edx, eax
add ecx, 3
lea rax, [0x140152870]
add edx, dword [rax + rcx*4]
mov eax, ebp
shr eax, 0x16
add edx, r10d
add esi, edx
mov ecx, ebp
shl ecx, 9
add r14d, esi
xor ecx, ebp
mov edx, ebp
and edx, 0x1ff
shl edx, 0xa
or edx, eax
mov eax, ebp
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, ebp
shr eax, 2
xor edx, eax
mov eax, ebp
shl eax, 0x14
xor ecx, eax
mov eax, r12d
shl ecx, 0xa
and eax, ebp
or edx, ecx
mov ecx, r12d
or ecx, ebp
and ecx, r8d
or ecx, eax
add esi, ecx
add esi, edx
cmp dword [rsp], 0
je 0x140044458
mov edx, dword [rsp + 0x20]
mov r8d, edx
mov eax, edx
mov ecx, edx
shr eax, 0x12
and r8d, 0x7ff
and ecx, 0xfffff800
shl r8d, 0xe
or r8d, eax
mov eax, edx
shr eax, 7
xor r8d, eax
mov eax, edx
shl eax, 0xb
xor ecx, eax
mov eax, edx
shr eax, 3
mov edx, r9d
and edx, 3
shl ecx, 0xe
or r8d, ecx
shl edx, 0xd
xor r8d, eax
mov ecx, r9d
mov eax, r9d
and ecx, 0xfffffffc
shr eax, 0x13
or edx, eax
mov eax, r9d
shr eax, 0x11
xor edx, eax
lea eax, [r9*4]
xor ecx, eax
shr r9d, 0xa
mov eax, dword [rsp + 0x2c]
add eax, r8d
shl ecx, 0xd
mov r8d, dword [rsp + 4]
or edx, ecx
xor edx, r9d
add edx, eax
mov eax, dword [rsp + 0x18]
add eax, edx
mov dword [rsp + 0x18], eax
mov r9d, eax
jmp 0x14004445d
mov r9d, dword [rsp + 0x18]
mov eax, r14d
mov ecx, r14d
shr eax, 0x19
mov edx, r14d
and edx, 0x3fff
shl ecx, 0xe
xor ecx, r14d
shl edx, 7
or edx, eax
mov eax, r14d
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, r14d
shr eax, 6
xor edx, eax
mov eax, r14d
shl eax, 0x13
xor ecx, eax
mov eax, r15d
xor eax, r11d
shl ecx, 7
or edx, ecx
and eax, r14d
mov ecx, dword [rsp]
xor eax, r15d
add edx, eax
add ecx, 4
lea rax, [0x140152870]
add edx, dword [rax + rcx*4]
mov eax, esi
shr eax, 0x16
add edx, r9d
add r13d, edx
mov ecx, esi
shl ecx, 9
add r8d, r13d
xor ecx, esi
mov dword [rsp + 4], r8d
mov edx, esi
and edx, 0x1ff
shl edx, 0xa
or edx, eax
mov eax, esi
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, esi
shr eax, 2
xor edx, eax
mov eax, esi
shl eax, 0x14
xor ecx, eax
mov eax, ebp
shl ecx, 0xa
and eax, esi
or edx, ecx
mov ecx, ebp
or ecx, esi
and ecx, r12d
or ecx, eax
add r13d, ecx
add r13d, edx
cmp dword [rsp], 0
je 0x1400445c5
mov edx, dword [rsp + 0x28]
mov r8d, edx
mov eax, edx
mov ecx, edx
shr eax, 0x12
and r8d, 0x7ff
and ecx, 0xfffff800
shl r8d, 0xe
or r8d, eax
mov eax, edx
shr eax, 7
xor r8d, eax
mov eax, edx
shl eax, 0xb
xor ecx, eax
mov eax, edx
shr eax, 3
mov edx, r10d
and edx, 3
shl ecx, 0xe
or r8d, ecx
shl edx, 0xd
xor r8d, eax
mov ecx, r10d
mov eax, r10d
and ecx, 0xfffffffc
shr eax, 0x13
or edx, eax
mov eax, r10d
shr eax, 0x11
xor edx, eax
lea eax, [r10*4]
xor ecx, eax
shr r10d, 0xa
lea eax, [rbx + r8]
shl ecx, 0xd
mov r8d, dword [rsp + 4]
or edx, ecx
xor edx, r10d
add edx, eax
mov eax, dword [rsp + 0x20]
add eax, edx
mov dword [rsp + 0x20], eax
mov r10d, eax
jmp 0x1400445ca
mov r10d, dword [rsp + 0x20]
mov eax, r8d
mov ecx, r8d
shr eax, 0x19
mov edx, r8d
and edx, 0x3fff
shl ecx, 0xe
xor ecx, r8d
shl edx, 7
or edx, eax
mov eax, r8d
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, r8d
shr eax, 6
xor edx, eax
mov eax, r8d
shl eax, 0x13
xor ecx, eax
mov eax, r11d
xor eax, r14d
shl ecx, 7
or edx, ecx
and eax, r8d
mov ecx, dword [rsp]
xor eax, r11d
add edx, eax
add ecx, 5
lea rax, [0x140152870]
add edx, dword [rax + rcx*4]
mov eax, r13d
shr eax, 0x16
add edx, r10d
add r15d, edx
mov ecx, r13d
shl ecx, 9
add r12d, r15d
xor ecx, r13d
mov edx, r13d
and edx, 0x1ff
shl edx, 0xa
or edx, eax
mov eax, r13d
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, r13d
shr eax, 2
xor edx, eax
mov eax, r13d
shl eax, 0x14
xor ecx, eax
mov eax, esi
shl ecx, 0xa
and eax, r13d
or edx, ecx
mov ecx, esi
or ecx, r13d
and ecx, ebp
or ecx, eax
add r15d, ecx
add r15d, edx
cmp dword [rsp], 0
mov dword [rsp + 0x40], r15d
je 0x14004473a
mov edx, dword [rsp + 0x30]
mov r8d, edx
mov eax, edx
mov ecx, edx
shr eax, 0x12
and r8d, 0x7ff
and ecx, 0xfffff800
shl r8d, 0xe
or r8d, eax
mov eax, edx
shr eax, 7
xor r8d, eax
mov eax, edx
shl eax, 0xb
xor ecx, eax
mov eax, edx
shr eax, 3
mov edx, r9d
and edx, 3
shl ecx, 0xe
or r8d, ecx
shl edx, 0xd
xor r8d, eax
mov ecx, r9d
mov eax, r9d
and ecx, 0xfffffffc
shr eax, 0x13
or edx, eax
mov eax, r9d
shr eax, 0x11
xor edx, eax
lea eax, [r9*4]
xor ecx, eax
shr r9d, 0xa
lea eax, [rdi + r8]
shl ecx, 0xd
mov r8d, dword [rsp + 4]
or edx, ecx
xor edx, r9d
add edx, eax
mov eax, dword [rsp + 0x28]
add eax, edx
mov dword [rsp + 0x28], eax
mov r9d, eax
jmp 0x14004473f
mov r9d, dword [rsp + 0x28]
mov eax, r12d
mov ecx, r12d
shr eax, 0x19
mov edx, r12d
and edx, 0x3fff
shl ecx, 0xe
shl edx, 7
xor ecx, r12d
or edx, eax
mov eax, r12d
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, r12d
shr eax, 6
xor edx, eax
mov eax, r12d
shl eax, 0x13
xor ecx, eax
mov eax, r8d
xor eax, r14d
shl ecx, 7
or edx, ecx
and eax, r12d
mov ecx, dword [rsp]
xor eax, r14d
add edx, eax
add ecx, 6
lea rax, [0x140152870]
add edx, dword [rax + rcx*4]
mov eax, r15d
shr eax, 0x16
add edx, r9d
add r11d, edx
mov ecx, r15d
shl ecx, 9
mov edx, r15d
xor ecx, r15d
and edx, 0x1ff
shl edx, 0xa
add ebp, r11d
or edx, eax
mov eax, r15d
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, r15d
shr eax, 2
xor edx, eax
mov eax, r15d
shl eax, 0x14
xor ecx, eax
shl ecx, 0xa
or edx, ecx
mov ecx, r13d
or ecx, r15d
and r15d, r13d
and ecx, esi
or r15d, ecx
add r15d, r11d
mov r11d, dword [rsp]
add r15d, edx
test r11d, r11d
je 0x1400448b0
mov edx, dword [rsp + 0x34]
mov r8d, edx
mov eax, edx
mov ecx, edx
shr eax, 0x12
and r8d, 0x7ff
and ecx, 0xfffff800
shl r8d, 0xe
or r8d, eax
mov eax, edx
shr eax, 7
xor r8d, eax
mov eax, edx
shl eax, 0xb
xor ecx, eax
mov eax, edx
shr eax, 3
mov edx, r10d
and edx, 3
shl ecx, 0xe
or r8d, ecx
shl edx, 0xd
xor r8d, eax
mov ecx, r10d
mov eax, r10d
and ecx, 0xfffffffc
shr eax, 0x13
or edx, eax
mov eax, r10d
shr eax, 0x11
xor edx, eax
lea eax, [r10*4]
xor ecx, eax
shr r10d, 0xa
mov eax, dword [rsp + 0x3c]
add eax, r8d
shl ecx, 0xd
mov r8d, dword [rsp + 4]
or edx, ecx
xor edx, r10d
add edx, eax
mov eax, dword [rsp + 0x30]
add eax, edx
mov dword [rsp + 0x30], eax
mov r10d, eax
jmp 0x1400448b5
mov r10d, dword [rsp + 0x30]
mov eax, ebp
mov ecx, ebp
shr eax, 0x19
mov edx, ebp
and edx, 0x3fff
shl ecx, 0xe
shl edx, 7
xor ecx, ebp
or edx, eax
mov eax, ebp
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, ebp
shr eax, 6
xor edx, eax
mov eax, ebp
shl eax, 0x13
xor ecx, eax
mov eax, r8d
xor eax, r12d
shl ecx, 7
or edx, ecx
and eax, ebp
xor eax, r8d
lea ecx, [r11 + 7]
mov r11d, dword [rsp + 0x40]
add edx, eax
lea rax, [0x140152870]
add edx, dword [rax + rcx*4]
mov eax, r15d
shr eax, 0x16
add edx, r10d
add r14d, edx
mov ecx, r15d
shl ecx, 9
add esi, r14d
xor ecx, r15d
mov edx, r15d
and edx, 0x1ff
shl edx, 0xa
or edx, eax
mov eax, r15d
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, r15d
shr eax, 2
xor edx, eax
mov eax, r15d
shl eax, 0x14
xor ecx, eax
mov eax, r11d
shl ecx, 0xa
and eax, r15d
or edx, ecx
mov ecx, r11d
or ecx, r15d
and ecx, r13d
or ecx, eax
add r14d, ecx
add r14d, edx
cmp dword [rsp], 0
je 0x140044a26
mov r8d, r9d
mov eax, r9d
shr eax, 0x13
and r8d, 3
shl r8d, 0xd
mov ecx, r9d
or r8d, eax
and ecx, 0xfffffffc
mov eax, r9d
shr eax, 0x11
xor r8d, eax
lea eax, [r9*4]
xor ecx, eax
shr r9d, 0xa
shl ecx, 0xd
or r8d, ecx
xor r8d, r9d
mov r9d, dword [rsp + 0xc]
mov edx, r9d
mov eax, r9d
shr eax, 0x12
and edx, 0x7ff
shl edx, 0xe
mov ecx, r9d
or edx, eax
and ecx, 0xfffff800
mov eax, r9d
shr eax, 7
xor edx, eax
mov eax, r9d
shl eax, 0xb
xor ecx, eax
mov eax, r9d
shr eax, 3
shl ecx, 0xe
or edx, ecx
xor edx, eax
mov eax, dword [rsp + 0x38]
add eax, r8d
mov r8d, dword [rsp + 4]
add edx, eax
mov eax, dword [rsp + 0x34]
add eax, edx
mov dword [rsp + 0x34], eax
mov r9d, eax
jmp 0x140044a2b
mov r9d, dword [rsp + 0x34]
mov eax, esi
mov ecx, esi
shr eax, 0x19
mov edx, esi
and edx, 0x3fff
shl ecx, 0xe
shl edx, 7
xor ecx, esi
or edx, eax
mov eax, esi
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, esi
shr eax, 6
xor edx, eax
mov eax, esi
shl eax, 0x13
xor ecx, eax
mov eax, r12d
xor eax, ebp
shl ecx, 7
or edx, ecx
and eax, esi
mov ecx, dword [rsp]
xor eax, r12d
add edx, eax
add ecx, 8
lea rax, [0x140152870]
add edx, dword [rax + rcx*4]
mov eax, r14d
shr eax, 0x16
add edx, r9d
add r8d, edx
mov ecx, r14d
add r13d, r8d
shl ecx, 9
mov dword [rsp + 4], r13d
xor ecx, r14d
mov edx, r14d
mov r13d, r15d
and edx, 0x1ff
or r13d, r14d
shl edx, 0xa
and r13d, r11d
or edx, eax
mov eax, r14d
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, r14d
shr eax, 2
xor edx, eax
mov eax, r14d
shl eax, 0x14
xor ecx, eax
mov eax, r15d
and eax, r14d
shl ecx, 0xa
or r13d, eax
or edx, ecx
add r13d, r8d
add r13d, edx
cmp dword [rsp], 0
je 0x140044b99
mov r8d, r10d
mov eax, r10d
shr eax, 0x13
and r8d, 3
shl r8d, 0xd
mov ecx, r10d
or r8d, eax
and ecx, 0xfffffffc
mov eax, r10d
shr eax, 0x11
xor r8d, eax
lea eax, [r10*4]
xor ecx, eax
shr r10d, 0xa
shl ecx, 0xd
or r8d, ecx
xor r8d, r10d
mov r10d, dword [rsp + 0x14]
mov edx, r10d
mov eax, r10d
shr eax, 0x12
and edx, 0x7ff
shl edx, 0xe
mov ecx, r10d
or edx, eax
and ecx, 0xfffff800
mov eax, r10d
shr eax, 7
xor edx, eax
mov eax, r10d
shl eax, 0xb
xor ecx, eax
mov eax, r10d
shr eax, 3
shl ecx, 0xe
or edx, ecx
xor edx, eax
mov eax, dword [rsp + 8]
add eax, r8d
add edx, eax
mov eax, dword [rsp + 0xc]
add eax, edx
mov dword [rsp + 0xc], eax
mov r10d, eax
jmp 0x140044b9e
mov r10d, dword [rsp + 0xc]
mov r8d, dword [rsp + 4]
mov eax, r8d
shr eax, 0x19
mov ecx, r8d
shl ecx, 0xe
mov edx, r8d
and edx, 0x3fff
xor ecx, r8d
shl edx, 7
or edx, eax
mov eax, r8d
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, r8d
shr eax, 6
xor edx, eax
mov eax, r8d
shl eax, 0x13
xor ecx, eax
mov eax, ebp
xor eax, esi
shl ecx, 7
or edx, ecx
and eax, r8d
mov ecx, dword [rsp]
xor eax, ebp
add edx, eax
add ecx, 9
lea rax, [0x140152870]
add edx, dword [rax + rcx*4]
mov eax, r13d
shr eax, 0x16
add edx, r10d
add r12d, edx
mov ecx, r13d
shl ecx, 9
add r11d, r12d
xor ecx, r13d
mov dword [rsp + 0x40], r11d
mov edx, r13d
and edx, 0x1ff
shl edx, 0xa
or edx, eax
mov eax, r13d
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, r13d
shr eax, 2
xor edx, eax
mov eax, r13d
shl eax, 0x14
xor ecx, eax
mov eax, r13d
shl ecx, 0xa
and eax, r14d
or edx, ecx
mov ecx, r13d
or ecx, r14d
and ecx, r15d
or ecx, eax
add r12d, ecx
add r12d, edx
cmp dword [rsp], 0
je 0x140044d16
mov edx, dword [rsp + 0x1c]
mov r8d, edx
mov eax, edx
mov ecx, edx
shr eax, 0x12
and r8d, 0x7ff
and ecx, 0xfffff800
shl r8d, 0xe
or r8d, eax
mov eax, edx
shr eax, 7
xor r8d, eax
mov eax, edx
shl eax, 0xb
xor ecx, eax
mov eax, edx
shr eax, 3
mov edx, r9d
and edx, 3
shl ecx, 0xe
or r8d, ecx
shl edx, 0xd
xor r8d, eax
mov ecx, r9d
mov eax, r9d
and ecx, 0xfffffffc
shr eax, 0x13
or edx, eax
mov eax, r9d
shr eax, 0x11
xor edx, eax
lea eax, [r9*4]
xor ecx, eax
shr r9d, 0xa
mov eax, dword [rsp + 0x10]
add eax, r8d
shl ecx, 0xd
mov r8d, dword [rsp + 4]
or edx, ecx
xor edx, r9d
add edx, eax
mov eax, dword [rsp + 0x14]
add eax, edx
mov dword [rsp + 0x14], eax
mov r9d, eax
jmp 0x140044d1b
mov r9d, dword [rsp + 0x14]
mov eax, r11d
mov ecx, r11d
shr eax, 0x19
mov edx, r11d
and edx, 0x3fff
shl ecx, 0xe
xor ecx, r11d
shl edx, 7
or edx, eax
mov eax, r11d
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, r11d
shr eax, 6
xor edx, eax
mov eax, r11d
shl eax, 0x13
xor ecx, eax
mov eax, esi
xor eax, r8d
shl ecx, 7
or edx, ecx
and eax, r11d
mov ecx, dword [rsp]
xor eax, esi
add edx, eax
add ecx, 0xa
lea rax, [0x140152870]
add edx, dword [rax + rcx*4]
mov eax, r12d
shr eax, 0x16
add edx, r9d
add ebp, edx
mov ecx, r12d
shl ecx, 9
add r15d, ebp
xor ecx, r12d
mov dword [rsp + 0x48], r15d
mov edx, r12d
and edx, 0x1ff
shl edx, 0xa
or edx, eax
mov eax, r12d
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, r12d
shr eax, 2
xor edx, eax
mov eax, r12d
shl eax, 0x14
xor ecx, eax
mov eax, r13d
shl ecx, 0xa
and eax, r12d
or edx, ecx
mov ecx, r13d
or ecx, r12d
and ecx, r14d
or ecx, eax
add ebp, ecx
add ebp, edx
cmp dword [rsp], 0
je 0x140044e91
mov r8d, r10d
mov eax, r10d
shr eax, 0x13
and r8d, 3
shl r8d, 0xd
mov ecx, r10d
or r8d, eax
and ecx, 0xfffffffc
mov eax, r10d
shr eax, 0x11
xor r8d, eax
lea eax, [r10*4]
xor ecx, eax
shr r10d, 0xa
shl ecx, 0xd
or r8d, ecx
xor r8d, r10d
mov r10d, dword [rsp + 0x24]
mov edx, r10d
mov eax, r10d
shr eax, 0x12
and edx, 0x7ff
shl edx, 0xe
mov ecx, r10d
or edx, eax
and ecx, 0xfffff800
mov eax, r10d
shr eax, 7
xor edx, eax
mov eax, r10d
shl eax, 0xb
xor ecx, eax
mov eax, r10d
shr eax, 3
shl ecx, 0xe
or edx, ecx
xor edx, eax
mov eax, dword [rsp + 0x18]
add eax, r8d
mov r8d, dword [rsp + 4]
add edx, eax
mov eax, dword [rsp + 0x1c]
add eax, edx
mov dword [rsp + 0x1c], eax
mov r10d, eax
jmp 0x140044e96
mov r10d, dword [rsp + 0x1c]
mov eax, r15d
mov ecx, r15d
shr eax, 0x19
mov edx, r15d
and edx, 0x3fff
shl ecx, 0xe
shl edx, 7
xor ecx, r15d
or edx, eax
mov eax, r15d
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, r15d
shr eax, 6
xor edx, eax
mov eax, r15d
shl eax, 0x13
xor ecx, eax
mov eax, r8d
xor eax, r11d
shl ecx, 7
mov r11d, dword [rsp]
or edx, ecx
and eax, r15d
xor eax, r8d
add edx, eax
lea rax, [0x140152870]
lea ecx, [r11 + 0xb]
add edx, dword [rax + rcx*4]
mov eax, ebp
shr eax, 0x16
add edx, r10d
add esi, edx
mov ecx, ebp
shl ecx, 9
add r14d, esi
xor ecx, ebp
mov edx, ebp
and edx, 0x1ff
shl edx, 0xa
or edx, eax
mov eax, ebp
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, ebp
shr eax, 2
xor edx, eax
mov eax, ebp
shl eax, 0x14
xor ecx, eax
mov eax, r12d
shl ecx, 0xa
and eax, ebp
or edx, ecx
mov ecx, r12d
or ecx, ebp
and ecx, r13d
or ecx, eax
add esi, ecx
add esi, edx
test r11d, r11d
je 0x140044ffc
mov edx, dword [rsp + 0x2c]
mov r8d, edx
mov eax, edx
mov ecx, edx
shr eax, 0x12
and r8d, 0x7ff
and ecx, 0xfffff800
shl r8d, 0xe
or r8d, eax
mov eax, edx
shr eax, 7
xor r8d, eax
mov eax, edx
shl eax, 0xb
xor ecx, eax
mov eax, edx
shr eax, 3
mov edx, r9d
and edx, 3
shl ecx, 0xe
or r8d, ecx
shl edx, 0xd
xor r8d, eax
mov ecx, r9d
and ecx, 0xfffffffc
mov eax, r9d
shr eax, 0x13
or edx, eax
mov eax, r9d
shr eax, 0x11
xor edx, eax
lea eax, [r9*4]
xor ecx, eax
shr r9d, 0xa
mov eax, dword [rsp + 0x20]
add eax, r8d
shl ecx, 0xd
mov r8d, dword [rsp + 4]
or edx, ecx
xor edx, r9d
add edx, eax
mov eax, dword [rsp + 0x24]
add eax, edx
mov dword [rsp + 0x24], eax
mov r11d, eax
jmp 0x140045001
mov r11d, dword [rsp + 0x24]
mov r9d, dword [rsp]
mov eax, r14d
shr eax, 0x19
mov ecx, r14d
shl ecx, 0xe
mov edx, r14d
and edx, 0x3fff
xor ecx, r14d
shl edx, 7
or edx, eax
mov eax, r14d
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, r14d
shr eax, 6
xor edx, eax
mov eax, r14d
shl eax, 0x13
xor ecx, eax
mov eax, dword [rsp + 0x40]
xor eax, r15d
shl ecx, 7
or edx, ecx
and eax, r14d
xor eax, dword [rsp + 0x40]
lea ecx, [r9 + 0xc]
add edx, eax
lea rax, [0x140152870]
add edx, dword [rax + rcx*4]
mov eax, esi
shr eax, 0x16
add edx, r11d
add r8d, edx
mov ecx, esi
shl ecx, 9
mov edx, esi
xor ecx, esi
and edx, 0x1ff
shl edx, 0xa
add r13d, r8d
or edx, eax
mov eax, esi
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, esi
shr eax, 2
xor edx, eax
mov eax, esi
shl eax, 0x14
xor ecx, eax
mov eax, ebp
shl ecx, 0xa
and eax, esi
or edx, ecx
mov ecx, ebp
or ecx, esi
and ecx, r12d
or eax, ecx
add eax, r8d
add eax, edx
mov dword [rsp + 0x44], eax
test r9d, r9d
je 0x140045162
mov r8d, r10d
mov eax, r10d
shr eax, 0x13
and r8d, 3
shl r8d, 0xd
mov ecx, r10d
or r8d, eax
and ecx, 0xfffffffc
mov eax, r10d
mov edx, ebx
shr eax, 0x11
and edx, 0x7ff
xor r8d, eax
shl edx, 0xe
lea eax, [r10*4]
shr r10d, 0xa
xor ecx, eax
mov eax, ebx
shr eax, 0x12
or edx, eax
shl ecx, 0xd
or r8d, ecx
mov eax, ebx
shr eax, 7
xor r8d, r10d
xor edx, eax
mov ecx, ebx
and ecx, 0xfffff800
mov eax, ebx
shl eax, 0xb
xor ecx, eax
mov eax, ebx
shr eax, 3
shl ecx, 0xe
or edx, ecx
xor edx, eax
mov eax, dword [rsp + 0x28]
add eax, r8d
add edx, eax
mov eax, dword [rsp + 0x2c]
add eax, edx
mov dword [rsp + 0x2c], eax
mov r9d, eax
jmp 0x140045167
mov r9d, dword [rsp + 0x2c]
mov r10d, dword [rsp + 0x44]
mov eax, r13d
mov r8d, dword [rsp + 0x40]
mov ecx, r13d
shr eax, 0x19
mov edx, r13d
and edx, 0x3fff
shl ecx, 0xe
shl edx, 7
xor ecx, r13d
or edx, eax
mov eax, r13d
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, r13d
shr eax, 6
xor edx, eax
mov eax, r13d
shl eax, 0x13
xor ecx, eax
mov eax, r15d
xor eax, r14d
shl ecx, 7
or edx, ecx
and eax, r13d
mov ecx, dword [rsp]
xor eax, r15d
add edx, eax
add ecx, 0xd
lea rax, [0x140152870]
mov r15d, esi
or r15d, r10d
and r15d, ebp
add edx, dword [rax + rcx*4]
mov eax, r10d
shr eax, 0x16
add edx, r9d
add r8d, edx
mov ecx, r10d
shl ecx, 9
mov edx, r10d
and edx, 0x1ff
xor ecx, r10d
shl edx, 0xa
add r12d, r8d
or edx, eax
mov eax, r10d
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, r10d
shr eax, 2
xor edx, eax
mov eax, r10d
shl eax, 0x14
xor ecx, eax
mov eax, esi
and eax, r10d
shl ecx, 0xa
or r15d, eax
or edx, ecx
add r15d, r8d
add r15d, edx
cmp dword [rsp], 0
je 0x1400452c8
mov edx, r11d
mov r8d, edi
and edx, 3
and r8d, 0x7ff
shl edx, 0xd
mov eax, edi
shr eax, 0x12
mov ecx, edi
and ecx, 0xfffff800
shl r8d, 0xe
or r8d, eax
mov eax, edi
shr eax, 7
xor r8d, eax
mov eax, edi
shl eax, 0xb
xor ecx, eax
mov eax, edi
shr eax, 3
shl ecx, 0xe
or r8d, ecx
mov ecx, r11d
xor r8d, eax
and ecx, 0xfffffffc
mov eax, r11d
shr eax, 0x13
or edx, eax
mov eax, r11d
shr eax, 0x11
xor edx, eax
lea eax, [r11*4]
xor ecx, eax
shr r11d, 0xa
mov eax, dword [rsp + 0x30]
shl ecx, 0xd
add eax, r8d
or edx, ecx
xor edx, r11d
add edx, eax
add ebx, edx
mov eax, r12d
mov ecx, r12d
shr eax, 0x19
mov edx, r12d
and edx, 0x3fff
shl ecx, 0xe
shl edx, 7
xor ecx, r12d
or edx, eax
mov r8d, ebx
mov r8d, dword [rsp + 0x48]
mov eax, r12d
shr eax, 0xb
mov r11d, r10d
xor edx, eax
or r11d, r15d
mov eax, ecx
and r11d, esi
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, r12d
shr eax, 6
xor edx, eax
mov eax, r12d
shl eax, 0x13
xor ecx, eax
mov eax, r13d
xor eax, r14d
shl ecx, 7
or edx, ecx
and eax, r12d
mov ecx, dword [rsp]
xor eax, r14d
add edx, eax
add ecx, 0xe
lea rax, [0x140152870]
add edx, dword [rax + rcx*4]
mov eax, r15d
shr eax, 0x16
add edx, ebx
add r8d, edx
mov ecx, r15d
shl ecx, 9
mov edx, r15d
and edx, 0x1ff
xor ecx, r15d
shl edx, 0xa
add ebp, r8d
or edx, eax
mov eax, r15d
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, r15d
shr eax, 2
xor edx, eax
mov eax, r15d
shl eax, 0x14
xor ecx, eax
mov eax, r10d
and eax, r15d
shl ecx, 0xa
or r11d, eax
or edx, ecx
add r11d, r8d
add r11d, edx
cmp dword [rsp], 0
je 0x140045434
mov r8d, r9d
mov eax, r9d
shr eax, 0x13
and r8d, 3
shl r8d, 0xd
mov ecx, r9d
or r8d, eax
and ecx, 0xfffffffc
mov eax, r9d
shr eax, 0x11
xor r8d, eax
lea eax, [r9*4]
xor ecx, eax
shr r9d, 0xa
shl ecx, 0xd
or r8d, ecx
xor r8d, r9d
mov r9d, dword [rsp + 0x3c]
mov edx, r9d
mov eax, r9d
shr eax, 0x12
and edx, 0x7ff
shl edx, 0xe
mov ecx, r9d
or edx, eax
and ecx, 0xfffff800
mov eax, r9d
shr eax, 7
xor edx, eax
mov eax, r9d
shl eax, 0xb
xor ecx, eax
mov eax, r9d
shr eax, 3
shl ecx, 0xe
or edx, ecx
xor edx, eax
mov eax, dword [rsp + 0x34]
add eax, r8d
add edx, eax
add edi, edx
mov r9d, dword [rsp]
mov eax, ebp
shr eax, 0x19
mov ecx, ebp
shl ecx, 0xe
mov edx, ebp
and edx, 0x3fff
xor ecx, ebp
shl edx, 7
mov r8d, edi
or edx, eax
mov eax, ebp
shr eax, 0xb
xor edx, eax
mov eax, ecx
and eax, 0x7c000
and ecx, 0xfff80000
shl eax, 7
or edx, eax
mov eax, ebp
shr eax, 6
xor edx, eax
mov eax, ebp
shl eax, 0x13
xor ecx, eax
mov eax, r13d
xor eax, r12d
shl ecx, 7
or edx, ecx
and eax, ebp
xor eax, r13d
lea ecx, [r9 + 0xf]
add edx, eax
add r9d, 0x10
lea rax, [0x140152870]
mov dword [rsp], r9d
add edx, dword [rax + rcx*4]
mov eax, r11d
shr eax, 0x16
add edx, edi
add r14d, edx
mov ecx, r11d
shl ecx, 9
add esi, r14d
xor ecx, r11d
mov edx, r11d
and edx, 0x1ff
shl edx, 0xa
or edx, eax
mov eax, r11d
shr eax, 0xd
xor edx, eax
mov eax, ecx
and eax, 0xffe00
and ecx, 0xfff00000
shl eax, 0xa
or edx, eax
mov eax, r11d
shr eax, 2
xor edx, eax
mov eax, r11d
shl eax, 0x14
xor ecx, eax
mov eax, r15d
shl ecx, 0xa
and eax, r11d
or edx, ecx
mov ecx, r15d
or ecx, r11d
and ecx, r10d
or ecx, eax
mov eax, dword [rsp + 0x3c]
add r14d, ecx
add r14d, edx
mov edx, dword [rsp + 0x38]
cmp r9d, 0x40
jb 0x140043e10
mov rcx, qword [rsp + 0x50]
mov eax, r14d
add qword [rcx + 0x80], rax
add qword [rcx + 0x98], r10
mov eax, r11d
add qword [rcx + 0x88], rax
mov eax, r15d
add qword [rcx + 0x90], rax
mov eax, esi
add qword [rcx + 0xa0], rax
mov eax, ebp
add qword [rcx + 0xa8], rax
mov eax, r12d
add qword [rcx + 0xb0], rax
mov eax, r13d
add qword [rcx + 0xb8], rax
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1400b1f80
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret