Function at 0x432f60
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, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov r12d, r8d
mov r14, rdx
mov r15, rcx
mov qword [rsp + 0xa0], rdx
mov dword [rsp + 0x6c], r9d
test r9d, r9d
je 0x432fd9
mov qword [rsp + 0xa0], r14
test r14, r14
je 0x432fe0
xor eax, eax
lea rcx, [rsp + 0xa0]
nop dword [rax]
xor edx, edx
cmp dword [r14 + 0x30], r12d
setbe dl
lea rbp, [r14 + 0x20]
cmovbe rcx, rbp
add eax, edx
mov r14, qword [r14 + 0x20]
mov qword [rcx], r14
test r14, r14
jne 0x432fb0
mov r14, qword [rsp + 0xa0]
jmp 0x432fe5
mov eax, 1
jmp 0x432fe5
xor r14d, r14d
xor eax, eax
add dword [r15 + 0x100], eax
cmp dword [r14 + 0x30], 1
setne al
test r14, r14
sete cl
test cl, al
jne 0x4330ad
xor cl, al
jne 0x4330ad
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x28]
movzx ebp, byte [rcx + 0x88]
shl ebp, 0x18
movzx edx, byte [rcx + 0x89]
shl edx, 0x10
mov ebx, edx
not ebx
mov edi, ebp
not edi
and ebx, 0xf41311a9
and edx, 0xec0000
or edx, ebx
and edi, 0xf41311a9
and ebp, 0xb000000
or ebp, edi
xor ebp, edx
movzx ebx, byte [rcx + 0x8a]
shl ebx, 8
mov edx, ebp
not edx
mov edi, ebx
not edi
mov esi, edx
and esi, 0x77ec28a7
and ebp, 0x88130000
or ebp, esi
or edx, edi
and edi, 0x77ec28a7
and ebx, 0xd700
or ebx, edi
xor ebx, ebp
not edx
or edx, ebx
movzx ecx, byte [rcx + 0x8b]
mov ebp, edx
and ebp, ecx
xor edx, ecx
or edx, ebp
add edx, 1
bswap edx
mov dword [rax + 0x18], edx
mov rax, qword [r14 + 8]
mov dword [rax + 0x5c], edx
mov rax, qword [r14 + 8]
mov dword [rax + 0x60], 0x185f2e00
mov rax, qword [r15 + 0xc8]
mov qword [rsp + 0x88], rax
mov rbp, qword [r15 + 0x128]
movzx edi, byte [r15 + 0xf]
mov rax, qword [rbp + 0x30]
mov rsi, qword [rax]
lea rcx, [rbp + 0x48]
mov qword [rsp + 0xc0], rcx
mov r8d, 0x30
mov rdx, rsi
call fcn.005f4c28
test eax, eax
mov qword [rsp + 0xc8], r15
mov dword [rsp + 0x44], edi
je 0x433115
mov eax, dword [rsi + 0x10]
add eax, 1
mov dword [rsp + 0x50], eax
cmp word [rbp + 0x3c], 0
mov qword [rsp + 0x48], rbp
jne 0x43336b
jmp 0x43312d
mov dword [rsp + 0x50], 0
cmp word [rbp + 0x3c], 0
mov qword [rsp + 0x48], rbp
jne 0x43336b
cmp dword [rsi + 0x60], 0
je 0x43330d
lea rdx, [rsp + 0x20]
mov ecx, 4
call fcn.00408a40
cmp byte [rbp + 0x3f], 0
je 0x4332e0
mov r8d, dword [rsp + 0x20]
mov rcx, qword [rbp + 0x30]
mov r15, qword [rcx]
add dword [rbp + 0x88], 1
mov dword [rbp + 0x58], 0
mov rsi, rbp
movzx ebp, byte [rbp + 0x68]
shl ebp, 0x18
movzx edx, byte [rsi + 0x69]
shl edx, 0x10
mov ebx, edx
not ebx
mov edi, ebp
not edi
and ebx, 0x95b90457
and edx, 0x460000
or edx, ebx
and edi, 0x95b90457
and ebp, 0x6a000000
or ebp, edi
xor ebp, edx
movzx ebx, byte [rsi + 0x6a]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [rsi + 0x6b]
mov edx, ebx
and edx, ebp
xor ebx, ebp
or ebx, edx
add ebx, 1
mov edx, ebx
shr edx, 0x18
mov byte [rsi + 0x68], dl
mov edx, ebx
shr edx, 0x10
mov byte [rsi + 0x69], dl
mov byte [rsi + 0x6a], bh
mov byte [rsi + 0x6b], bl
mov dword [rsi + 0x6c], r8d
mov r13, qword [rcx]
mov byte [rsi + 0x54], 1
mov dword [rsi + 0x48], 0x2de218
lea rcx, [rsi + 0x70]
mov rdi, qword [rsp + 0xc0]
lea rax, [rdi + 8]
mov ebx, dword [rsi + 0x4c]
lea edx, [rbx + 0x2de218]
mov ebp, 0x2de218
cmp rax, rcx
jae 0x433238
mov eax, dword [rdi + 8]
mov ecx, dword [rdi + 0x1c]
add eax, ebx
add eax, 0x5bc430
add edx, dword [rdi + 0xc]
add edx, eax
add eax, edx
add edx, dword [rdi + 0x14]
neg eax
mov ebp, eax
sub ebp, edx
sub eax, dword [rdi + 0x18]
add eax, ebp
sub ecx, ebp
sub ecx, eax
mov ebp, dword [rdi + 0x20]
sub ebp, eax
add ebp, ecx
add ecx, r8d
add ecx, ebp
mov edx, ecx
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x70], ebp
mov rbp, rax
mov dword [rax + 0x74], edx
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmmword [r13 + 0x50], xmm2
movups xmmword [r13 + 0x40], xmm1
movups xmmword [r13 + 0x30], xmm0
cmp byte [rax + 0x3f], 2
je 0x433270
mov rcx, qword [rbp + 8]
mov rax, qword [rcx]
call qword [rax + 0x78]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmmword [r13 + 0x20], xmm2
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
mov dword [r15 + 0x60], 0
mov dword [r15 + 0x80], 0
mov dword [r15 + 0x68], 0
mov dword [r15 + 0x6c], 0xffffffff
mov dword [r15 + 0x70], 0xffffffff
mov dword [r15 + 0x74], 0xffffffff
cmp byte [rbp + 0x3f], 0
jne 0x43330d
mov rcx, qword [rbp + 8]
mov rax, qword [rcx]
mov edx, 4
mov r8d, 4
mov r9d, 9
call qword [rax + 0x70]
jmp 0x43330d
mov rcx, qword [rbp + 8]
mov rax, qword [rcx]
mov edx, 4
mov r8d, 4
mov r9d, 0xa
call qword [rax + 0x70]
cmp eax, 5
je 0x43330d
mov r13d, eax
test eax, eax
je 0x433150
jmp 0x433362
cmp byte [rbp + 0x3f], 0
jne 0x43332e
mov rcx, qword [rbp + 8]
mov rax, qword [rcx]
mov edx, 3
mov r8d, 1
mov r9d, 5
call qword [rax + 0x70]
mov word [rbp + 0x3c], 0xffff
xor edi, edi
mov esi, 1
lea rbx, [rsp + 0x20]
add edi, 1
mov rcx, rbp
mov rdx, rbx
mov r8d, 1
mov r9d, esi
call fcn.00435890
add esi, 1
cmp eax, 0xffffffff
je 0x433340
mov r13d, eax
test r13d, r13d
jne 0x43440f
mov esi, dword [rbp + 0x58]
test rsi, rsi
mov rbx, qword [rsp + 0x88]
je 0x43382a
shl rbx, 0x20
movabs rcx, 0x1800000000
add rcx, rbx
sar rcx, 0x20
mov rax, rsi
mov qword [rsp + 0x90], rcx
imul rax, rcx
movabs rcx, 0x598b00d0d7515478
sub rax, rcx
mov rdx, rbp
xor ebp, ebp
mov r15, rdx
mov rdx, qword [rdx + 0x10]
mov qword [rsp + 0x58], rdx
add rax, rcx
add rax, 0x20
mov qword [rsp + 0x60], rax
test r14, r14
mov dword [rsp + 0x68], r12d
mov qword [rsp + 0xb8], rbx
je 0x43393e
mov eax, dword [rsp + 0x44]
and eax, 3
mov dword [rsp + 0x70], eax
sar rbx, 0x20
mov qword [rsp + 0x80], rbx
xorps xmm6, xmm6
mov rdi, r14
xor eax, eax
mov qword [rsp + 0x78], rax
nop word [rax + rax]
cmp dword [rsp + 0x50], 0
mov rbp, r15
je 0x433476
cmp dword [rsp + 0x6c], 0
sete dl
setne al
cmp qword [rdi + 0x20], 0
setne bl
sete cl
cmp dl, bl
jne 0x433450
or al, cl
xor al, 1
jne 0x433450
add esi, 1
xor eax, eax
jmp 0x433484
mov dword [rsp + 0x20], 0
mov edx, dword [rdi + 0x30]
mov rcx, rbp
lea r8, [rsp + 0x20]
call fcn.00435370
mov eax, dword [rsp + 0x20]
cmp eax, dword [rsp + 0x50]
jae 0x433561
add esi, 1
cmp dword [rsp + 0x6c], 0
je 0x433497
mov rax, qword [rdi + 0x20]
mov r15, qword [rsp + 0x58]
test rax, rax
mov eax, 0
cmove eax, r12d
jmp 0x43349e
xor eax, eax
mov r15, qword [rsp + 0x58]
mov rbx, qword [rdi + 8]
mov ecx, dword [rdi + 0x30]
mov edx, ecx
shr edx, 0x18
mov byte [rsp + 0x20], dl
mov edx, ecx
shr edx, 0x10
mov byte [rsp + 0x21], dl
mov byte [rsp + 0x22], ch
mov byte [rsp + 0x23], cl
mov ecx, eax
shr ecx, 0x18
mov byte [rsp + 0x24], cl
mov ecx, eax
shr ecx, 0x10
mov byte [rsp + 0x25], cl
mov byte [rsp + 0x26], ah
mov byte [rsp + 0x27], al
cmp dword [rbp + 0x7c], 0
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x98], rsi
je 0x433500
lea rax, [rsp + 0x28]
movups xmmword [rax], xmm6
jmp 0x433631
mov rax, qword [rbp + 0x68]
mov qword [rsp + 0x28], rax
cmp byte [rbp + 0x55], 0
mov eax, dword [rbp + 0x60]
mov edx, dword [rbp + 0x64]
mov ecx, dword [rsp + 0x20]
je 0x4335b8
bswap ecx
add eax, edx
add eax, ecx
mov ecx, dword [rsp + 0x24]
bswap ecx
add edx, eax
add edx, ecx
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x64], edx
movsxd rbp, dword [rbp + 0x38]
add rbp, rbx
nop word [rax + rax]
mov esi, dword [rbx]
mov ecx, dword [rbx + 4]
bswap esi
add eax, edx
add eax, esi
bswap ecx
add ecx, edx
add ecx, eax
add rbx, 8
mov edx, ecx
cmp rbx, rbp
jb 0x433540
jmp 0x4335f2
lea r9d, [rax - 1]
imul r9, qword [rsp + 0x90]
add r9, 0x38
mov ecx, dword [rbp + 0x7c]
add ecx, 0xffffffff
cmp ecx, eax
mov r8, qword [rsp + 0x88]
jb 0x433587
mov dword [rbp + 0x7c], eax
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rdi + 8]
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
jne 0x43410c
and byte [rdi + 0x34], 0xbf
mov rdi, qword [rdi + 0x20]
test rdi, rdi
mov ebp, 0
jne 0x433410
jmp 0x433815
add eax, edx
add eax, ecx
add edx, eax
add edx, dword [rsp + 0x24]
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x64], edx
movsxd rbp, dword [rbp + 0x38]
add rbp, rbx
mov ecx, edx
mov rdx, rbx
nop word cs:[rax + rax]
nop
add eax, ecx
add eax, dword [rdx]
add ecx, dword [rdx + 4]
add ecx, eax
add rdx, 8
cmp rdx, rbp
jb 0x4335e0
mov rdx, qword [rsp + 0x48]
mov dword [rdx + 0x60], eax
mov dword [rdx + 0x64], ecx
mov edx, eax
shr edx, 0x18
mov byte [rsp + 0x30], dl
mov edx, eax
shr edx, 0x10
mov byte [rsp + 0x31], dl
mov byte [rsp + 0x32], ah
mov byte [rsp + 0x33], al
mov eax, ecx
shr eax, 0x18
mov byte [rsp + 0x34], al
mov eax, ecx
shr eax, 0x10
mov byte [rsp + 0x35], al
mov byte [rsp + 0x36], ch
mov byte [rsp + 0x37], cl
mov esi, 0x18
lea rdx, [rsp + 0x20]
mov rax, qword [rsp + 0x60]
mov r9, rax
cmp rax, 0xffffffffffffffe8
mov rbx, qword [rsp + 0x88]
jb 0x4336b3
mov r9, qword [rsp + 0x60]
mov rbp, r9
neg rbp
mov rax, qword [r15]
mov rcx, r15
lea rdx, [rsp + 0x20]
mov r8d, ebp
call qword [rax + 0x18]
test eax, eax
jne 0x43410c
mov esi, 0x18
sub esi, ebp
mov edx, dword [rsp + 0x70]
test edx, edx
je 0x433692
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x28]
mov r13d, eax
jmp 0x433695
xor r13d, r13d
test r13d, r13d
setne al
test esi, esi
setne cl
cmp cl, al
je 0x4336c2
test esi, esi
je 0x4336c2
lea rdx, [rsp + rbp]
add rdx, 0x20
xor r9d, r9d
mov rax, qword [r15]
mov rcx, r15
mov r8d, esi
call qword [rax + 0x18]
mov r13d, eax
test r13d, r13d
jne 0x43440f
mov rcx, qword [rsp + 0x60]
mov r12, rcx
add r12, 0x18
setns al
movabs rdx, 0xdb54d6fc969a0562
add rcx, rdx
add rcx, qword [rsp + 0x80]
sub rcx, rdx
add rcx, 0x18
sets cl
test al, cl
jne 0x433750
xor al, cl
mov rbp, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x78]
jne 0x433760
mov rsi, r12
neg rsi
mov rax, qword [r15]
mov rcx, r15
mov r8d, esi
mov r9, r12
call qword [rax + 0x18]
test eax, eax
jne 0x43410c
mov r15d, ebx
sub r15d, esi
mov edx, dword [rsp + 0x70]
test edx, edx
je 0x433765
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov r13d, eax
test r15d, r15d
jne 0x43376d
jmp 0x4337ae
mov r15d, ebx
mov rbp, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x78]
jmp 0x43379a
mov r15d, ebx
jmp 0x43379a
xor r13d, r13d
test r15d, r15d
je 0x4337ae
test r13d, r13d
jne 0x4337ae
mov al, 1
test al, al
je 0x4337ae
movsxd rax, esi
movabs rdx, 0xa0a02df4954cf6f2
lea rcx, [rax + rdx]
add rcx, r12
sub rcx, rdx
mov rdx, qword [rsp + 0x78]
add rdx, rax
mov r12, rcx
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov r8d, r15d
mov r9, r12
call qword [rax + 0x18]
mov r13d, eax
test r13d, r13d
mov r12d, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x98]
jne 0x43440f
mov r15, rbp
mov rax, qword [rsp + 0x60]
movabs rcx, 0x41d486a90f83357
add rax, rcx
add rax, qword [rsp + 0x90]
sub rax, rcx
mov qword [rsp + 0x60], rax
movzx eax, word [rdi + 0x34]
mov ecx, eax
and ecx, 0x40
xor eax, 0x40
or eax, ecx
mov word [rdi + 0x34], ax
mov rax, rdi
mov qword [rsp + 0x78], rdi
mov rdi, qword [rdi + 0x20]
test rdi, rdi
mov ebp, 0
jne 0x433410
mov ebx, 0
cmp dword [rsp + 0x6c], 0
jne 0x433955
jmp 0x4341e8
movabs rax, 0x18e22d0082067f37
mov qword [rsp + 0x20], rax
mov eax, ebx
shr eax, 0x18
mov byte [rsp + 0x28], al
mov eax, ebx
shr eax, 0x10
mov byte [rsp + 0x29], al
mov byte [rsp + 0x2a], bh
mov byte [rsp + 0x2b], bl
mov eax, dword [rbp + 0x88]
mov ecx, eax
bswap ecx
mov dword [rsp + 0x2c], ecx
test eax, eax
jne 0x433873
lea rdx, [rbp + 0x68]
mov ecx, 8
call fcn.00408a40
mov rdx, qword [rbp + 0x68]
mov qword [rsp + 0x30], rdx
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x24]
add ecx, eax
add eax, ecx
add eax, dword [rsp + 0x28]
add ecx, dword [rsp + 0x2c]
add ecx, eax
add eax, edx
shr rdx, 0x20
add eax, ecx
add ecx, edx
add ecx, eax
mov edx, eax
shr edx, 0x18
mov byte [rsp + 0x38], dl
mov edx, eax
shr edx, 0x10
mov byte [rsp + 0x39], dl
mov byte [rsp + 0x3a], ah
mov byte [rsp + 0x3b], al
mov edx, ecx
shr edx, 0x18
mov byte [rsp + 0x3c], dl
mov edx, ecx
shr edx, 0x10
mov byte [rsp + 0x3d], dl
mov byte [rsp + 0x3e], ch
mov byte [rsp + 0x3f], cl
mov dword [rbp + 0x38], ebx
mov byte [rbp + 0x55], 0
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x64], ecx
mov byte [rbp + 0x43], 1
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
mov r8d, 0x20
xor r9d, r9d
call qword [rax + 0x18]
mov r13d, eax
test eax, eax
mov eax, dword [rsp + 0x44]
jne 0x43440f
cmp byte [rbp + 0x44], 0
je 0x43337f
shr eax, 2
mov edx, eax
xor edx, 0x3c
and edx, eax
je 0x43337f
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov r13d, eax
test eax, eax
jne 0x43440f
jmp 0x43337f
xor eax, eax
mov qword [rsp + 0x78], rax
mov ebx, 0
cmp dword [rsp + 0x6c], 0
je 0x4341e8
cmp dword [r15 + 0x7c], 0
mov qword [rsp + 0x98], rsi
je 0x433d02
mov ebx, dword [r15 + 0x38]
call fcn.00402ec0
test eax, eax
setne al
cmp ebx, 0xffffffe9
setl cl
test cl, al
jne 0x433c4f
xor cl, al
jne 0x433c4f
add ebx, 0x18
mov ebp, ebx
mov rcx, rbp
call fcn.00404550
test rax, rax
je 0x433c4f
mov rdi, rax
mov dword [rsp + 0x80], ebx
mov eax, dword [r15 + 0x7c]
lea ecx, [rax - 2]
mov qword [rsp + 0x50], rbp
imul rcx, rbp
add rcx, 0x30
cmp eax, 1
mov r9d, 0x18
cmovne r9, rcx
mov rcx, qword [r15 + 0x10]
mov rax, qword [rcx]
mov rdx, rdi
mov r8d, 8
call qword [rax + 0x10]
mov r13d, eax
movzx eax, byte [rdi]
shl eax, 0x18
movzx ecx, byte [rdi + 1]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rdi + 2]
shl eax, 8
or eax, ecx
movzx ecx, byte [rdi + 3]
mov edx, eax
not edx
mov ebp, ecx
not ebp
and edx, 0xb2195206
and eax, 0x4de6ad00
or eax, edx
and ebp, 0xb2195206
and ecx, 0xfffffff9
or ecx, ebp
xor ecx, eax
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x60], ecx
movzx eax, byte [rdi + 4]
shl eax, 0x18
movzx ecx, byte [rdi + 5]
shl ecx, 0x10
mov edx, ecx
not edx
mov ebp, eax
not ebp
and edx, 0x1b6e0762
and ecx, 0x910000
or ecx, edx
and ebp, 0x1b6e0762
and eax, 0xe4000000
or eax, ebp
xor eax, ecx
movzx ecx, byte [rdi + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 7]
mov edx, ecx
not edx
mov ebp, eax
not ebp
mov ebx, edx
and ebx, 0x1714f6af
and ecx, 0xe8eb0900
or ecx, ebx
or edx, ebp
and ebp, 0x1714f6af
and eax, 0x50
or eax, ebp
mov r15, qword [rsp + 0x48]
xor eax, ecx
not edx
or edx, eax
mov dword [r15 + 0x64], edx
mov r12d, dword [r15 + 0x7c]
mov dword [r15 + 0x7c], 0
test r13d, r13d
jne 0x433c5d
cmp r12d, esi
ja 0x433c5d
mov al, 1
test al, al
mov ebp, dword [rsp + 0x80]
je 0x433c5d
mov rax, rdi
add rax, 0x18
mov qword [rsp + 0x70], rax
xorps xmm6, xmm6
nop dword [rax + rax]
lea ebx, [r12 - 1]
imul rbx, qword [rsp + 0x50]
add rbx, 0x20
mov rcx, qword [r15 + 0x10]
mov rax, qword [rcx]
mov rdx, rdi
mov r8d, ebp
mov r9, rbx
call qword [rax + 0x10]
test eax, eax
jne 0x433c5a
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
cmp dword [r15 + 0x7c], 0
je 0x433b26
lea rax, [rsp + 0x28]
movups xmmword [rax], xmm6
jmp 0x433c16
mov r8, rdi
mov rax, qword [r15 + 0x68]
mov qword [rsp + 0x28], rax
cmp byte [r15 + 0x55], 0
mov eax, dword [r15 + 0x60]
mov ecx, dword [r15 + 0x64]
mov edx, dword [rsp + 0x20]
je 0x433b8f
bswap edx
add eax, ecx
add eax, edx
add ecx, eax
mov edx, dword [rsp + 0x24]
bswap edx
add edx, ecx
mov dword [r15 + 0x60], eax
mov dword [r15 + 0x64], edx
movsxd rdi, dword [r15 + 0x38]
mov rbp, qword [rsp + 0x70]
add rdi, rbp
nop dword [rax]
mov esi, dword [rbp]
mov ecx, dword [rbp + 4]
bswap esi
add eax, edx
add eax, esi
bswap ecx
add ecx, edx
add ecx, eax
add rbp, 8
mov edx, ecx
cmp rbp, rdi
jb 0x433b70
jmp 0x433bc3
add eax, ecx
add eax, edx
add ecx, eax
add ecx, dword [rsp + 0x24]
mov dword [r15 + 0x60], eax
mov dword [r15 + 0x64], ecx
movsxd rdx, dword [r15 + 0x38]
mov rbp, qword [rsp + 0x70]
add rdx, rbp
nop dword [rax]
add eax, ecx
add eax, dword [rbp]
add ecx, dword [rbp + 4]
add ecx, eax
add rbp, 8
cmp rbp, rdx
jb 0x433bb0
mov r15, qword [rsp + 0x48]
mov dword [r15 + 0x60], eax
mov dword [r15 + 0x64], ecx
mov edx, eax
shr edx, 0x18
mov byte [rsp + 0x30], dl
mov edx, eax
shr edx, 0x10
mov byte [rsp + 0x31], dl
mov byte [rsp + 0x32], ah
mov byte [rsp + 0x33], al
mov eax, ecx
shr eax, 0x18
mov byte [rsp + 0x34], al
mov eax, ecx
shr eax, 0x10
mov byte [rsp + 0x35], al
mov byte [rsp + 0x36], ch
mov byte [rsp + 0x37], cl
mov rsi, qword [rsp + 0x98]
mov rdi, r8
mov ebp, dword [rsp + 0x80]
mov rcx, qword [r15 + 0x10]
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
mov r8d, 0x18
mov r9, rbx
call qword [rax + 0x18]
mov r13d, eax
add r12d, 1
test eax, eax
setne al
cmp r12d, esi
setbe cl
cmp cl, al
je 0x433c5d
cmp r12d, esi
jbe 0x433ae0
jmp 0x433c5d
mov r13d, 7
jmp 0x43440f
mov r13d, eax
cmp dword [0x005f6010], 0
je 0x433ceb
mov rcx, qword [0x0213b0e8]
test rcx, rcx
mov r12d, dword [rsp + 0x68]
je 0x433c81
call qword [0x005f6090]
mov rcx, rdi
call qword [0x005f6048]
cdqe
movabs rcx, 0xa2c64ab3175f1bff
mov rdx, qword [0x0213b040]
add rdx, rcx
sub rdx, rax
sub rdx, rcx
mov qword [0x0213b040], rdx
movabs rax, 0x2060702f6a45c46d
mov rcx, rax
not rcx
add rcx, qword [0x0213b088]
add rcx, rax
mov qword [0x0213b088], rcx
mov rcx, rdi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x433cf9
call qword [0x005f60a0]
jmp 0x433cf9
mov rcx, rdi
call qword [0x005f6038]
mov r12d, dword [rsp + 0x68]
test r13d, r13d
jne 0x43440f
mov esi, dword [rsp + 0x44]
not esi
or esi, 0xfffffffc
cmp esi, 0xffffffff
je 0x433d44
not esi
cmp byte [r15 + 0x45], 0
je 0x433d4d
mov rcx, qword [r15 + 0x10]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x433d54
call rdx
mov ebx, 0x200
cmp eax, 0x20
jl 0x433d59
cmp eax, 0x10001
mov ebx, 0x10000
cmovl ebx, eax
jmp 0x433d59
xor ebp, ebp
xor ebx, ebx
jmp 0x434133
xor ebx, ebx
jmp 0x434124
mov ebx, 0x1000
movabs rcx, 0x515f0dd7963a312c
movabs rax, 0x292c399649903a9a
mov rdx, qword [rsp + 0x60]
sub rdx, rax
add rdx, rbx
lea rbp, [rax + rdx]
add rbp, 0xffffffffffffffff
mov rax, rbp
shr rax, 0x20
mov dword [rsp + 0x44], esi
je 0x433d97
mov rax, rbp
cqo
idiv rbx
jmp 0x433d9d
mov eax, ebp
xor edx, edx
div ebx
add rbp, rcx
sub rbp, rdx
sub rbp, rcx
mov rax, rbp
xor ebp, ebp
mov ebx, 0
mov qword [rsp + 0x70], rax
cmp rax, qword [rsp + 0x60]
jle 0x434114
mov eax, r12d
shr eax, 0x18
mov dword [rsp + 0xb4], eax
mov eax, r12d
shr eax, 0x10
mov dword [rsp + 0xb0], eax
mov eax, r12d
shr eax, 8
mov dword [rsp + 0xac], eax
sar qword [rsp + 0xb8], 0x20
xor ebx, ebx
xorps xmm6, xmm6
mov r10, qword [rsp + 0x60]
mov rax, qword [rsp + 0x78]
mov r8, qword [rax + 8]
mov eax, dword [rax + 0x30]
mov ecx, eax
shr ecx, 0x18
mov byte [rsp + 0x20], cl
mov ecx, eax
shr ecx, 0x10
mov byte [rsp + 0x21], cl
mov byte [rsp + 0x22], ah
mov byte [rsp + 0x23], al
mov eax, dword [rsp + 0xb4]
mov byte [rsp + 0x24], al
mov eax, dword [rsp + 0xb0]
mov byte [rsp + 0x25], al
mov eax, dword [rsp + 0xac]
mov byte [rsp + 0x26], al
mov byte [rsp + 0x27], r12b
cmp dword [r15 + 0x7c], 0
mov qword [rsp + 0x50], r8
je 0x433e5f
lea rax, [rsp + 0x28]
movups xmmword [rax], xmm6
jmp 0x433f31
mov rax, qword [r15 + 0x68]
mov qword [rsp + 0x28], rax
cmp byte [r15 + 0x55], 0
mov eax, dword [r15 + 0x60]
mov edx, dword [r15 + 0x64]
mov ecx, dword [rsp + 0x20]
je 0x433ebe
bswap ecx
add eax, edx
add eax, ecx
mov ecx, dword [rsp + 0x24]
bswap ecx
add edx, eax
add edx, ecx
mov dword [r15 + 0x60], eax
mov dword [r15 + 0x64], edx
movsxd rsi, dword [r15 + 0x38]
add rsi, r8
mov rdi, r8
nop dword [rax]
mov ebp, dword [rdi]
mov ecx, dword [rdi + 4]
bswap ebp
add eax, edx
add eax, ebp
bswap ecx
add ecx, edx
add ecx, eax
add rdi, 8
mov edx, ecx
cmp rdi, rsi
jb 0x433ea0
jmp 0x433ef2
add eax, edx
add eax, ecx
add edx, eax
add edx, dword [rsp + 0x24]
mov dword [r15 + 0x60], eax
mov dword [r15 + 0x64], edx
movsxd rdi, dword [r15 + 0x38]
add rdi, r8
mov ecx, edx
mov rdx, r8
nop dword [rax]
add eax, ecx
add eax, dword [rdx]
add ecx, dword [rdx + 4]
add ecx, eax
add rdx, 8
cmp rdx, rdi
jb 0x433ee0
mov rdx, qword [rsp + 0x48]
mov dword [rdx + 0x60], eax
mov dword [rdx + 0x64], ecx
mov edx, eax
shr edx, 0x18
mov byte [rsp + 0x30], dl
mov edx, eax
shr edx, 0x10
mov byte [rsp + 0x31], dl
mov byte [rsp + 0x32], ah
mov byte [rsp + 0x33], al
mov eax, ecx
shr eax, 0x18
mov byte [rsp + 0x34], al
mov eax, ecx
shr eax, 0x10
mov byte [rsp + 0x35], al
mov byte [rsp + 0x36], ch
mov byte [rsp + 0x37], cl
lea r15, [r10 + 0x18]
mov r8d, 0x18
lea rdx, [rsp + 0x20]
mov r9, r10
mov rbp, qword [rsp + 0x70]
cmp rbp, r15
mov edi, dword [rsp + 0x44]
mov qword [rsp + 0x80], r10
jg 0x433fe1
mov rsi, rbp
mov ebp, edi
mov r12, rsi
sub rsi, r10
mov rdi, qword [rsp + 0x58]
mov rax, qword [rdi]
mov rcx, rdi
lea rdx, [rsp + 0x20]
mov r8d, esi
mov r9, r10
call qword [rax + 0x18]
test eax, eax
jne 0x43410c
mov rax, qword [rdi]
mov rcx, rdi
mov edi, ebp
mov edx, ebp
call qword [rax + 0x28]
mov r13d, eax
mov r8d, 0x18
sub r8d, esi
je 0x4340e9
test r13d, r13d
jne 0x4340e9
mov al, 1
test al, al
mov rbp, r12
je 0x433fef
movsxd rax, esi
movabs rcx, 0xb5d90b870dd8e877
lea r9, [rax + rcx]
mov r10, qword [rsp + 0x80]
add r9, r10
sub r9, rcx
lea rdx, [rsp + rax]
add rdx, 0x20
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r13d, eax
test r13d, r13d
jne 0x43440f
mov rsi, rbp
sub rsi, r15
setle al
movabs rdx, 0x435d184abaf002e7
lea rcx, [r15 + rdx]
add rcx, qword [rsp + 0xb8]
sub rcx, rdx
cmp rcx, rbp
setl cl
test al, cl
jne 0x434092
xor al, cl
jne 0x434092
mov r12, rbp
mov ebp, edi
mov rdi, qword [rsp + 0x58]
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rsp + 0x50]
mov r8d, esi
mov r9, r15
call qword [rax + 0x18]
test eax, eax
jne 0x43410c
mov rax, qword [rdi]
mov rcx, rdi
mov edx, ebp
call qword [rax + 0x28]
mov r13d, eax
mov rax, qword [rsp + 0x88]
mov r8d, eax
sub r8d, esi
je 0x4340fa
test r13d, r13d
jne 0x4340fa
mov al, 1
test al, al
mov rbp, r12
je 0x4340b3
movsxd rax, esi
add r15, rax
mov rdx, qword [rsp + 0x50]
add rdx, rax
jmp 0x4340a2
mov rax, qword [rsp + 0x88]
mov r8d, eax
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov r9, r15
call qword [rax + 0x18]
mov r13d, eax
test r13d, r13d
mov r12d, dword [rsp + 0x68]
jne 0x43440f
mov r15, qword [rsp + 0x48]
mov r10, qword [rsp + 0x80]
add r10, qword [rsp + 0x90]
add ebx, 1
cmp rbp, r10
mov ebp, 0
jg 0x433dfa
jmp 0x434114
mov rbp, r12
test r13d, r13d
je 0x433ff8
jmp 0x43440f
mov rbp, r12
test r13d, r13d
mov r12d, dword [rsp + 0x68]
je 0x4340c1
jmp 0x43440f
mov r13d, eax
jmp 0x43440f
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x60]
mov esi, dword [rsp + 0x44]
jne 0x434133
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov edx, esi
call qword [rax + 0x28]
mov ebp, eax
cmp byte [r15 + 0x43], 0
je 0x4341e8
mov rax, r15
mov rsi, qword [r15 + 0x20]
test rsi, rsi
js 0x4341e8
mov rax, qword [rsp + 0x98]
add eax, ebx
mov rcx, qword [rsp + 0x90]
imul rcx, rax
movabs rax, 0x8c1d1edd13246e20
sub rcx, rax
add rax, rcx
add rax, 0x20
cmp rax, rsi
cmovge rsi, rax
mov rax, qword [0x0213b518]
test rax, rax
je 0x43418d
call rax
mov rcx, qword [r15 + 0x10]
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
call qword [rax + 0x30]
mov edi, eax
test eax, eax
jne 0x4341ba
xor edi, edi
cmp qword [rsp + 0x20], rsi
jle 0x4341ba
mov rcx, qword [r15 + 0x10]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x20]
mov edi, eax
mov rax, qword [0x0213b520]
test rax, rax
je 0x4341c8
call rax
test edi, edi
mov rsi, r15
je 0x4341e4
mov r8, qword [rsi + 0x80]
lea rdx, [0x005fc311]
mov ecx, edi
call fcn.00408970
mov byte [rsi + 0x43], 0
mov esi, dword [r15 + 0x58]
test r14, r14
setne al
test ebp, ebp
setne cl
cmp al, cl
je 0x434259
test r14, r14
je 0x434259
mov rdi, r14
nop dword [rax + rax]
mov eax, dword [rdi + 0x34]
not eax
or eax, 0xffbf
cmp ax, 0xffff
je 0x434240
add esi, 1
mov r8d, dword [rdi + 0x30]
mov rcx, r15
mov edx, esi
call fcn.004355a0
mov ebp, eax
jmp 0x434242
xor ebp, ebp
mov rdi, qword [rdi + 0x20]
test rdi, rdi
sete al
test ebp, ebp
sete cl
cmp cl, al
je 0x434259
test ebp, ebp
je 0x434210
test ebp, ebp
sete al
setne cl
test ebx, ebx
setg dl
cmp dl, cl
je 0x4343ab
test ebx, ebx
jle 0x4343ab
mov rbp, r15
mov rdi, qword [rsp + 0x78]
nop
add esi, 1
mov r8d, dword [rdi + 0x30]
mov rcx, rbp
mov edx, esi
call fcn.004355a0
mov r13d, eax
test eax, eax
sete al
setne cl
cmp ebx, 1
setg dl
cmp dl, cl
je 0x4342b0
lea ecx, [rbx - 1]
cmp ebx, 1
mov ebx, ecx
jg 0x434280
test al, al
je 0x4343b9
mov rdx, qword [rsp + 0x88]
mov eax, edx
xor eax, 0xffff00ff
and eax, edx
shr edx, 0x10
mov ecx, eax
and ecx, edx
xor edx, eax
or edx, ecx
mov word [rbp + 0x56], dx
mov dword [rbp + 0x58], esi
cmp dword [rsp + 0x6c], 0
je 0x4343be
mov edx, dword [rbp + 0x50]
lea eax, [rdx + 1]
mov dword [rbp + 0x50], eax
mov dword [rbp + 0x5c], r12d
mov rax, qword [rbp + 0x30]
mov r15, qword [rax]
mov byte [rbp + 0x54], 1
mov dword [rbp + 0x48], 0x2de218
lea r8, [rbp + 0x70]
mov rdi, qword [rsp + 0xc0]
lea rbx, [rdi + 8]
mov ebp, dword [rbp + 0x4c]
lea eax, [rbp + 0x2de218]
mov ecx, 0x2de218
cmp rbx, r8
jae 0x434358
add edx, ebp
add eax, edx
add eax, 0x5bc431
add eax, dword [rdi + 0xc]
lea ecx, [rsi + rdx]
add ecx, 0x5bc431
add ecx, eax
add eax, r12d
add eax, ecx
add ecx, dword [rdi + 0x18]
add ecx, eax
add eax, dword [rdi + 0x1c]
add eax, ecx
add ecx, dword [rdi + 0x20]
add ecx, eax
add eax, dword [rdi + 0x24]
add eax, ecx
mov rbx, qword [rsp + 0x48]
mov dword [rbx + 0x70], ecx
mov dword [rbx + 0x74], eax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmmword [r15 + 0x50], xmm2
movups xmmword [r15 + 0x40], xmm1
movups xmmword [r15 + 0x30], xmm0
cmp byte [rbx + 0x3f], 2
je 0x43438d
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 0x78]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmmword [r15 + 0x20], xmm2
movups xmmword [r15 + 0x10], xmm1
movups xmmword [r15], xmm0
mov dword [rbx + 0x18], esi
jmp 0x4343be
mov r13d, ebp
mov rbp, r15
test al, al
jne 0x4342b8
test r13d, r13d
jne 0x43440f
test r14, r14
sete dl
mov rsi, qword [rsp + 0xc8]
mov rcx, qword [rsi + 0x70]
test rcx, rcx
sete bl
mov rax, rcx
or rax, r14
sete al
xor r13d, r13d
cmp bl, dl
jne 0x43440f
test al, al
je 0x4343f4
jmp 0x43440f
mov rcx, qword [rsi + 0x70]
test rcx, rcx
je 0x434406
mov r8, qword [r14 + 8]
mov edx, dword [r14 + 0x30]
call fcn.00437630
mov r14, qword [r14 + 0x20]
test r14, r14
jne 0x4343f0
mov eax, r13d
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret