Function at 0x433fc5
Capabilities:
Encrypt data using speck
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, 0x248
movaps xmmword [rsp + 0x230], xmm6
mov r14, r9
mov r15, r8
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x180], rcx
mov rcx, qword [rsp + 0x2b0]
test r9, r9
je 0x43418b
lea rax, [r15 + r14]
xor edx, edx
movaps xmm0, xmmword [0x005b81e0]
mov rsi, r15
movzx r8d, byte [rsi]
test r8b, r8b
js 0x434025
inc rsi
jmp 0x4340ad
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rsi + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x434087
movzx r10d, byte [rsi + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x434097
movzx r8d, byte [rsi + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
cmp r8d, 0x110000
mov rcx, qword [rsp + 0x2b0]
je 0x434122
add rsi, 4
jmp 0x4340ad
add rsi, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
jmp 0x4340a5
add rsi, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
mov rcx, qword [rsp + 0x2b0]
cmp r8d, 0x2e
jne 0x4340b8
xor r9d, r9d
jmp 0x434116
test rdx, rdx
je 0x4340d3
cmp rdx, 5
jae 0x434100
movups xmmword [rsp + 0x70], xmm0
cmp rdx, 4
jne 0x4340e2
jmp 0x4372a5
cmp r8d, 0x2d
je 0x43418b
movups xmmword [rsp + 0x70], xmm0
mov r9d, 5
cmp r8d, dword [rsp + rdx*4 + 0x70]
jne 0x434103
inc rdx
mov r9, rdx
cmp rdx, 4
jne 0x434103
jmp 0x43418b
mov r9, rdx
lea edx, [r8 - 0x7b]
cmp edx, 0xffffffe5
ja 0x434116
add r8d, 0xffffffc6
cmp r8d, 0xfffffff6
jb 0x43418b
mov rdx, r9
cmp rsi, rax
jne 0x434014
mov rdx, r14
mov rdi, rcx
call fcn.0055d172
mov eax, r14d
not eax
mov rsi, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
add rcx, rsi
mov edx, r14d
and edx, 1
neg rdx
and eax, 1
mov r9, r14
and r9, 0xfffffffffffffffe
imul r9, rax
mov r8, r14
or r8, 1
and r8, rdx
add r8, r9
mov rdx, r15
call sub.msvcrt.dll_memcpy
add rsi, r14
mov qword [rdi + 0x10], rsi
mov rax, qword [rsp + 0x180]
mov qword [rax], 0
mov dword [rax + 8], 0
jmp 0x4371b3
mov r11, qword [rsp + 0x68]
mov r10d, dword [r11 + 0x30]
movzx edx, byte [r11 + 0x34]
xor eax, eax
lea r8, [rsp + 0x40]
add r14, r15
xorps xmm6, xmm6
movups xmmword [rsp + 0x150], xmm6
lea rsi, [rsp + 0x188]
movups xmmword [rsi + 2], xmm6
movzx r9d, word [rsi + 0x10]
lea rdi, [rsp + 0x74]
mov word [rdi + 0x12], r9w
movups xmm0, xmmword [rsi]
movups xmmword [rdi + 2], xmm0
mov dword [rdi - 4], eax
mov word [rdi], ax
movups xmm0, xmmword [rsp + 0x148]
movups xmmword [rdi + 0x14], xmm0
mov r9, qword [rsp + 0x158]
mov qword [rdi + 0x24], r9
movups xmmword [rdi + 0x2c], xmm6
mov qword [rdi + 0x3c], r14
mov qword [rdi + 0x44], r15
mov qword [rdi + 0x4c], r8
mov byte [rdi + 0x58], dl
shl rdx, 0x20
or rdx, r10
mov qword [rsp + 0x138], rdx
mov qword [r11 + 0x10], rax
mov dword [r8 + 8], eax
mov qword [r8], rax
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x1f0], rcx
mov dword [rdi + 0x54], r10d
mov dword [rdi + 0x5c], eax
mov word [rdi + 0x60], ax
lea rcx, [rsp + 0xd8]
mov byte [rcx], al
mov dword [rcx + 4], eax
mov byte [rcx + 8], al
mov dword [rcx + 0xc], eax
mov byte [rcx + 0x10], al
mov dword [rcx + 0x14], eax
mov byte [rcx + 0x18], al
mov dword [rcx + 0x1c], eax
mov byte [rcx + 0x20], al
mov qword [rcx + 0x28], rax
mov dword [rcx + 0x38], 0x110000
mov byte [rcx + 0x3c], al
mov rcx, r11
xor edx, edx
call fcn.0055d172
lea r14, [rsp + 0x90]
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x434407
cmp rax, 1
jne 0x434a8f
mov rax, qword [rsp + 0x108]
cmp dword [rsp + 0x70], 0
je 0x4349d6
cmp rax, qword [rsp + 0x88]
jb 0x434ab3
mov qword [rsp + 0x88], 0
jmp 0x4349fa
mov dword [rsp + 0x110], r12d
jmp 0x434407
cmp byte [rsp + 0x114], 0
je 0x4342f5
cmp byte [rsp + 0x115], r15b
jae 0x43431c
mov ecx, ebp
mov edx, r12d
call fcn.0055d6cb
cmp eax, 0x110000
je 0x434325
jmp 0x434310
mov ecx, ebp
mov edx, r12d
call fcn.0055d6cb
cmp eax, 0x110000
jne 0x434310
test r15b, r15b
jne 0x434325
jmp 0x434a82
mov dword [rsp + 0x110], eax
jmp 0x434407
test r15b, r15b
je 0x434a55
cmp dword [rsp + 0x70], 0
je 0x434363
mov rdx, qword [rsp + 0x88]
cmp rdx, qword [rsp + 0x78]
jne 0x43434d
lea rcx, [rsp + 0x78]
call fcn.00432cd4
mov rdx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov dword [rax + rdx*4], r12d
inc qword [rsp + 0x88]
jmp 0x43437a
movzx eax, word [rsp + 0x74]
cmp rax, 3
ja 0x4343ab
mov dword [rsp + rax*4 + 0x78], r12d
inc eax
mov word [rsp + 0x74], ax
mov byte [rsp + 0x114], 1
mov byte [rsp + 0x115], r15b
jmp 0x434407
shl ecx, 6
and r8d, 0x3f
or r8d, ecx
mov r15d, r8d
jmp 0x43468a
shl ecx, 0xc
or edx, ecx
mov r15d, edx
jmp 0x43468a
lea rcx, [rsp + 0x188]
lea rdx, [rsp + 0x74]
mov r8d, r12d
call fcn.00432d0d
cmp dword [rsp + 0x70], 0
je 0x4343e5
cmp qword [rsp + 0x78], 0
je 0x4343e5
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
movups xmm0, xmmword [rsp + 0x188]
movups xmm1, xmmword [rsp + 0x198]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
jmp 0x43437a
mov r8, qword [rsp + 0x98]
test r8, r8
jne 0x434645
mov r13b, byte [rsp + 0xc8]
cmp r13b, 2
je 0x43479a
mov rbp, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xc0]
mov dil, byte [rsp + 0xc9]
mov rsi, qword [rsp + 0xb8]
test rax, rax
je 0x43450b
cmp rax, rbp
je 0x4344ff
lea rcx, [rax + 1]
mov qword [rsp + 0xa8], rcx
movzx r15d, byte [rax]
test r15b, r15b
jns 0x43468a
mov ecx, r15d
and ecx, 0x1f
lea rdx, [rax + 2]
mov qword [rsp + 0xa8], rdx
movzx r8d, byte [rax + 1]
cmp r15b, 0xdf
jbe 0x43438c
lea rdx, [rax + 3]
mov qword [rsp + 0xa8], rdx
movzx edx, byte [rax + 2]
and r8d, 0x3f
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp r15b, 0xf0
jb 0x43439e
lea r8, [rax + 4]
mov qword [rsp + 0xa8], r8
movzx r15d, byte [rax + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r15d, 0x3f
or r15d, edx
or r15d, ecx
cmp r15d, 0x110000
jne case.0x43460e.0
mov qword [rsp + 0xa8], 0
cmp rsi, rbx
je 0x434792
lea rax, [rsi + 1]
mov qword [rsp + 0xb8], rax
movzx r15d, byte [rsi]
test r15b, r15b
js 0x434531
mov rsi, rax
jmp 0x4345bb
mov eax, r15d
and eax, 0x1f
lea rcx, [rsi + 2]
mov qword [rsp + 0xb8], rcx
movzx edx, byte [rsi + 1]
and edx, 0x3f
cmp r15b, 0xdf
jbe 0x4345a3
lea r8, [rsi + 3]
mov qword [rsp + 0xb8], r8
movzx ecx, byte [rsi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r15b, 0xf0
jb 0x4345b0
lea rdx, [rsi + 4]
mov qword [rsp + 0xb8], rdx
movzx r15d, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r15d, 0x3f
or r15d, ecx
or r15d, eax
mov rsi, rdx
cmp r15d, 0x110000
jne 0x4345bb
jmp 0x434792
shl eax, 6
or eax, edx
mov rsi, rcx
mov r15d, eax
jmp 0x4345bb
shl eax, 0xc
or ecx, eax
mov rsi, r8
mov r15d, ecx
lea eax, [r15 - 0x2d]
cmp eax, 2
jb 0x43468a
lea eax, [r15 - 0x61]
cmp eax, 0x1a
jb 0x43468a
lea eax, [r15 - 0x30]
cmp eax, 0xa
jb 0x43468a
mov ecx, r15d
call fcn.00433e6e
mov rcx, rax
movzx edx, byte [rax]
mov eax, 0
cmp edx, 1
je case.default.0x43460e
mov eax, edx
lea rdx, [0x00437450]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov edx, dword [rsp + 0xd0]
lea rsi, [rsp + 0xd8]
jmp 0x434876
cmp r15d, 0x110000
je 0x434792
cmp byte [rsp + 0xf8], 0
je 0x4346fd
cmp r15d, 0x80
jb 0x434782
lea esi, [r15 - 0xac00]
cmp esi, 0x2ba4
jb 0x434719
mov ecx, r15d
call fcn.0055d4c1
test rax, rax
jne 0x4346ce
mov ecx, r15d
call fcn.0055d590
test rax, rax
je 0x434782
mov r12, rax
mov rbp, rdx
test rdx, rdx
je 0x434407
shl rbp, 2
xor esi, esi
mov edx, dword [r12 + rsi]
mov rcx, r14
call fcn.00433ca1
add rsi, 4
cmp rbp, rsi
jne 0x4346e3
jmp 0x434407
cmp r15d, 0x80
jb 0x434782
lea esi, [r15 - 0xac00]
cmp esi, 0x2ba4
jae 0x4347e4
mov edi, esi
mov eax, 0xdee95c4d
imul rdi, rax
shr rdi, 0x29
lea edx, [rdi + 0x1100]
mov rcx, r14
call fcn.00433ca1
imul eax, edi, 0x24c
mov ecx, esi
sub ecx, eax
imul eax, ecx, 0x925
shr eax, 0x10
add eax, 0x1161
movzx edx, ax
mov rcx, r14
call fcn.00433ca1
mov eax, esi
shr eax, 2
imul rax, rax, 0x24924925
shr rax, 0x20
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub esi, ecx
je 0x434407
add esi, 0x11a7
mov r15d, esi
mov rcx, r14
mov edx, r15d
call fcn.00433ca1
jmp 0x434407
mov byte [rsp + 0xc8], 2
mov r8d, dword [rsp + 0xd0]
test r8d, r8d
mov rdx, qword [rsp + 0xe8]
movzx eax, word [rsp + 0xd4]
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x434a0d
mov rcx, qword [rsp + 0x98]
test r8d, r8d
je 0x434820
mov r8, qword [rsp + 0xe0]
lea rsi, [rsp + 0xd8]
jmp 0x434838
mov ecx, r15d
call fcn.0055d590
test rax, rax
je 0x434782
mov rbp, rdx
test rdx, rdx
je 0x434407
mov r12, rax
shl rbp, 2
xor esi, esi
mov edx, dword [r12 + rsi]
mov rcx, r14
call fcn.00433ca1
add rsi, 4
cmp rbp, rsi
jne 0x434806
jmp 0x434407
cmp ax, 5
lea rsi, [rsp + 0xd8]
jae 0x43720b
mov rdx, rax
mov r8, rsi
mov rax, rdx
sub rax, rcx
jb 0x4371fd
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.00433275
mov edx, dword [rsp + 0xd0]
test edx, edx
je 0x434865
mov r8, qword [rsp + 0xe8]
jmp 0x43486e
movzx r8d, word [rsp + 0xd4]
mov qword [rsp + 0x98], r8
mov rcx, qword [rsp + 0x90]
test edx, edx
je 0x434894
mov r9, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xe8]
jmp 0x4348a9
movzx eax, word [rsp + 0xd4]
cmp rax, 5
jae 0x4371f4
mov r9, rsi
cmp rax, rcx
jbe 0x4371e5
mov r12d, dword [r9 + rcx*8 + 4]
lea rax, [rcx + 1]
cmp rax, r8
jne 0x4348ce
test edx, edx
je 0x4348db
mov rax, qword [rsp + 0xe8]
jmp 0x4348e3
mov qword [rsp + 0x90], rax
jmp 0x4349ad
movzx eax, word [rsp + 0xd4]
mov r9, rax
not r9
and r8, r9
mov r10, 0xfffffffffffffffe
sub r10, rcx
and r10, rax
sub r10, r8
je 0x43497b
xor ecx, ecx
mov rax, qword [rsp + 0x98]
add rax, rcx
cmp dword [rsp + 0xd0], 0
je 0x434930
mov r9, qword [rsp + 0xe8]
cmp r9, rax
jbe 0x4364dc
mov rdx, qword [rsp + 0xe0]
jmp 0x43494f
movzx r9d, word [rsp + 0xd4]
cmp r9, 5
jae 0x4371cf
mov rdx, rsi
cmp rax, r9
jae 0x4364dc
cmp r9, rcx
jbe 0x4364e8
mov r8b, byte [rdx + rax*8]
mov eax, dword [rdx + rax*8 + 4]
mov byte [rdx + rcx*8], r8b
mov dword [rdx + rcx*8 + 4], eax
lea rax, [rcx + 1]
mov rcx, rax
cmp r10, rax
jne 0x434900
mov edx, dword [rsp + 0xd0]
test edx, edx
je 0x434993
cmp qword [rsp + 0xe8], r10
jb 0x4349a9
mov qword [rsp + 0xe8], r10
jmp 0x4349a9
movzx eax, word [rsp + 0xd4]
cmp r10, rax
jae 0x4349a9
mov word [rsp + 0xd4], r10w
movups xmmword [r14], xmm6
mov ecx, r12d
call fcn.0055d659
mov r15d, eax
mov ebp, dword [rsp + 0x110]
cmp ebp, 0x110000
jne 0x4342ce
test r15b, r15b
je 0x4342c1
jmp 0x434a4d
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x43724b
cmp rax, rcx
jb 0x434af3
test rcx, rcx
je 0x4349fa
mov word [rsp + 0x74], 0
mov qword [rsp + 0x100], 0
xor eax, eax
jmp 0x43427c
mov qword [rsp + 0x100], 2
mov qword [rsp + 0x108], 0
mov ebp, dword [rsp + 0x110]
mov eax, 2
cmp ebp, 0x110000
je 0x43427c
mov dword [rsp + 0x110], 0x110000
jmp 0x434b53
mov ebp, r12d
jmp 0x434b53
mov dword [rsp + 0x110], r12d
mov byte [rsp + 0x114], 0
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], 0
jmp 0x434b53
mov dword [rsp + 0x110], r12d
jmp 0x434b53
mov rdx, qword [rsp + 0x108]
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x434abd
cmp rdx, qword [rsp + 0x88]
jae 0x434b1e
mov r8, qword [rsp + 0x80]
jmp 0x434ad6
mov rcx, qword [rsp + 0x80]
jmp 0x434af8
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x43724b
lea r8, [rsp + 0x78]
cmp rdx, rcx
jae 0x434b2c
mov ebp, dword [r8 + rdx*4]
inc rdx
mov qword [rsp + 0x100], 2
mov qword [rsp + 0x108], rdx
jmp 0x434b53
lea rcx, [rsp + 0x78]
mov ebp, dword [rcx + rax*4]
mov ecx, eax
and ecx, 1
xor rax, 1
lea rax, [rax + rcx*2]
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], rax
jmp 0x434b53
mov qword [rsp + 0x88], 0
jmp 0x434b38
test rcx, rcx
je 0x434b38
mov word [rsp + 0x74], 0
mov ebp, dword [rsp + 0x110]
mov ecx, 0x110000
mov dword [rsp + 0x110], ecx
cmp ebp, ecx
je 0x434c99
cmp ebp, 0x7f
ja 0x434b86
mov rsi, qword [rsp + 0x68]
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi]
jne 0x434b72
mov rcx, rsi
call fcn.0055d40c
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
mov byte [rax + rdx], bpl
inc rdx
mov qword [rsi + 0x10], rdx
jmp 0x434274
mov dword [rsp + 0x188], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x434bbf
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x188], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x189], bpl
mov r15d, 2
jmp 0x434c3d
cmp ebp, 0x10000
jae 0x434bfb
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x188], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x189], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x18a], bpl
mov r15d, 3
jmp 0x434c3d
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x188], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x189], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x18a], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x18b], bpl
mov r15d, 4
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
mov rdx, r15
call fcn.0055d172
mov eax, r15d
not eax
mov rsi, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
add rcx, rsi
and eax, 1
mov edx, r15d
and edx, 0xfffffffe
imul rdx, rax
mov eax, r15d
or eax, 1
mov r8d, r15d
and r8d, 1
neg r8d
and r8d, eax
add r8, rdx
lea rdx, [rsp + 0x188]
call sub.msvcrt.dll_memcpy
add rsi, r15
mov qword [rdi + 0x10], rsi
jmp 0x434274
cmp dword [rsp + 0xd0], 0
je 0x434cbc
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
call fcn.00556560
mov eax, dword [rsp + 0x70]
test eax, eax
mov rsi, qword [rsp + 0x68]
je 0x434ce3
cmp qword [rsp + 0x78], 0
je 0x434ce3
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
xor edx, edx
lea rax, [rsp + 0x148]
mov qword [rax], rdx
mov qword [rax + 8], 8
mov qword [rax + 0x10], rdx
mov rax, qword [rsp + 0x138]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
lea r8, [rsp + 0x188]
mov qword [r8], rax
mov qword [r8 + 8], rcx
mov qword [r8 + 0x10], rdx
mov qword [r8 + 0x18], rcx
mov qword [r8 + 0x20], 1
movabs rax, 0x2e0000002e
mov qword [r8 + 0x28], rax
mov qword [r8 + 0x30], rdx
mov qword [r8 + 0x38], rcx
mov word [r8 + 0x40], 1
xorps xmm6, xmm6
xor edi, edi
xor eax, eax
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x188]
call fcn.00437470
test rax, rax
je 0x43649f
mov rbp, rax
mov rsi, rdx
test dil, 1
mov rcx, qword [rsp + 0x2b0]
je 0x434db5
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x434da6
call fcn.0055d40c
mov rcx, qword [rsp + 0x2b0]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [rcx + 0x10], rdx
cmp rsi, 4
jb 0x434dc8
cmp dword [rbp], 0x2d2d6e78
je 0x434e58
mov dil, 1
cmp byte [rsp + 0x60], 0
mov al, 1
jne 0x434ddf
mov rcx, rbp
mov rdx, rsi
call fcn.004377c4
mov qword [rsp + 0x60], rax
mov rcx, rbp
mov rdx, rsi
mov r8, qword [rsp + 0x138]
lea r9, [rsp + 0x40]
call fcn.004375d4
mov r14d, esi
not r14d
mov r15, qword [rsp + 0x2b0]
mov rcx, r15
mov rdx, rsi
call fcn.0055d172
mov rbx, qword [r15 + 0x10]
mov rcx, qword [r15 + 8]
add rcx, rbx
mov eax, esi
and eax, 1
neg rax
and r14d, 1
mov rdx, rsi
and rdx, 0xfffffffffffffffe
imul rdx, r14
mov r8, rsi
or r8, 1
and r8, rax
add r8, rdx
mov rdx, rbp
call sub.msvcrt.dll_memcpy
add rbx, rsi
mov qword [r15 + 0x10], rbx
jmp 0x434d62
add rbp, 4
add rsi, 0xfffffffffffffffc
mov qword [rsp + 0x158], 0
mov r14, rsi
mov cl, 0x2d
mov rdx, rbp
mov r8, r14
call fcn.00428f40
cmp rax, 1
jne 0x434ea3
mov r14, rdx
mov r15, rdx
inc r15
je 0x434e9e
cmp rsi, r15
jb 0x434e9e
cmp byte [rbp + r14], 0x2d
je 0x4351c4
cmp r14, rsi
jbe 0x434e6f
lea rax, str.combase.dll
xor r14d, r14d
xor ecx, ecx
cmp r14, rcx
je 0x434ec3
cmp byte [rax + rcx], 0
lea rcx, [rcx + 1]
jns 0x434eaf
jmp 0x436490
mov rdi, rsi
mov r15, rbp
mov rbp, rax
test rdi, rdi
je 0x4351f3
add rdi, r15
xor edx, edx
mov ebx, 0x48
mov dword [rsp + 0x50], pe_nt_image_headers64
mov eax, r14d
mov qword [rsp + 0x30], rax
xor r12d, r12d
mov qword [rsp + 0x38], rdx
lea r9d, [rbx + 0x1a]
inc r15
mov r10d, ebx
neg r10d
mov r11d, 1
mov esi, 0x24
mov ecx, r12d
mov al, byte [r15 - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x434f2a
lea eax, [rdx + rdx]
and al, 0x34
xor dl, 0x1a
add dl, al
jmp 0x434f54
lea edx, [rax - 0x41]
cmp dl, 0x1a
jae 0x434f3b
mov edx, eax
or dl, 0xbe
and al, 0xbe
jmp 0x434f4e
lea edx, [rax - 0x61]
cmp dl, 0x1a
jae 0x436490
mov edx, eax
or dl, 0x9e
and al, 0x9e
add al, dl
inc al
mov edx, eax
test r11d, r11d
je 0x437280
movzx r13d, dl
mov eax, ecx
not eax
xor edx, edx
div r11d
cmp eax, r13d
jb 0x436490
mov eax, r11d
not eax
and eax, r13d
mov edx, r13d
not edx
and edx, r11d
imul edx, eax
mov eax, r11d
and eax, r13d
mov r8d, r11d
or r8d, r13d
imul r8d, eax
add ecx, r8d
add ecx, edx
lea r8d, [r10 + rsi]
cmp esi, r9d
mov eax, 0x1a
cmovae r8d, eax
cmp esi, ebx
mov eax, 1
cmovbe r8d, eax
cmp r8d, r13d
ja 0x434fec
sub r8d, 0x24
je 0x437290
neg r8d
mov eax, r8d
mul r11d
jo 0x436490
cmp r15, rdi
je 0x436490
add esi, 0x24
imul r11d, r8d
inc r15
jmp 0x434f12
mov rax, qword [rsp + 0x30]
mov r9d, eax
inc r9d
je 0x43726e
mov eax, ecx
sub eax, r12d
test r12d, r12d
mov r8d, 2
mov edx, 0x2bc
cmove r8d, edx
xor ebx, ebx
xor edx, edx
div r8d
mov r8d, eax
xor edx, edx
div r9d
add eax, r8d
cmp eax, 0x1c8
mov r10d, 0xd41d41d5
jb 0x43505e
xor ebx, ebx
mov r8d, eax
mov edx, eax
imul rdx, r10
shr rdx, 0x20
sub r8d, edx
shr r8d, 1
add r8d, edx
shr r8d, 5
add ebx, 0x24
cmp eax, 0x3e57
mov eax, r8d
ja 0x435038
jmp 0x435061
mov r8d, eax
mov edx, r8d
or edx, 0x24
mov r10d, r8d
and r10d, 0x24
imul edx, r10d
xor r10d, 0x24
mov eax, r8d
and eax, 0xffdb
imul eax, r10d
add eax, edx
add r8d, 0x26
xor edx, edx
div r8w
mov r10d, eax
mov eax, ecx
xor edx, edx
div r9d
add dword [rsp + 0x50], eax
jb 0x436490
mov eax, ecx
xor edx, edx
div r9d
mov r12d, edx
mov esi, dword [rsp + 0x50]
mov eax, esi
not eax
mov ecx, esi
or ecx, 0xffff2000
or eax, 0xd800
and eax, ecx
add eax, 0x800
cmp eax, 0xffef0800
setb al
mov edx, 0x110000
cmp esi, edx
sete cl
or cl, al
cmovne esi, edx
jne 0x436490
mov rcx, qword [rsp + 0x150]
mov r13d, r12d
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x43511d
mov rax, rdx
shl rax, 4
xor r8d, r8d
mov r9, qword [rcx + r8]
cmp r9, r13
jb 0x435114
inc r9
mov qword [rcx + r8], r9
add r8, 0x10
cmp rax, r8
jne 0x435104
cmp rdx, qword [rsp + 0x148]
jne 0x435150
lea rcx, [rsp + 0x148]
mov word [rsp + 0x38], r10w
call fcn.00433ba9
movzx r10d, word [rsp + 0x38]
mov rcx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x158]
movzx eax, r10w
add ebx, eax
mov rax, rdx
shl rax, 4
mov qword [rcx + rax], r13
mov dword [rcx + rax + 8], esi
mov eax, edx
and eax, 1
xor rdx, 1
lea rdx, [rdx + rax*2]
mov qword [rsp + 0x158], rdx
mov r8, qword [rsp + 0x30]
mov eax, r8d
and eax, 1
xor r8d, 1
lea r8d, [r8 + rax*2]
mov qword [rsp + 0x30], r8
inc r12d
cmp r15, rdi
jne 0x434ef2
cmp rdx, 0x15
jae 0x435d3f
cmp rdx, 2
jb 0x436486
mov r8d, 1
mov qword [rsp + 0x30], rcx
call fcn.00433af8
jmp 0x435200
test r14, r14
je 0x435467
cmp r14, rsi
ja 0x437371
mov rdi, rsi
sub rdi, r15
jbe 0x43546f
cmp byte [rbp + r15], 0xbf
jg 0x435475
jmp 0x43738b
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x2b0]
lea rdi, [r14 + rbp]
mov rbx, qword [rsp + 0x158]
add r14, rbx
mov r15, qword [rcx + 0x10]
mov rdx, r14
call fcn.0055d172
mov rcx, qword [rsp + 0x2b0]
xor r14d, r14d
xor r12d, r12d
mov r11, r14
shl r11, 4
mov rax, qword [rsp + 0x30]
lea rdx, [rax + r11]
mov rax, rbp
cmp r14, rbx
jae 0x435252
cmp qword [rdx], r12
je 0x435300
mov r8, rdi
cmp rax, rdi
je 0x4352b9
movzx esi, byte [rax]
test sil, sil
jns 0x4352c6
mov r8d, esi
and r8d, 0x1f
movzx r10d, byte [rax + 1]
cmp sil, 0xdf
jbe 0x4352d1
movzx r9d, byte [rax + 2]
and r10d, 0x3f
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp sil, 0xf0
jb 0x4352e8
movzx esi, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and esi, 0x3f
or esi, r9d
or esi, r8d
mov rbp, rax
mov r8, rax
cmp esi, 0x110000
jne 0x4352fb
mov rax, r8
cmp r14, rbx
jb 0x435244
jmp 0x435437
inc rax
inc r12
mov rbp, rax
jmp 0x435315
add rax, 2
shl r8d, 6
and r10d, 0x3f
or r10d, r8d
mov rbp, rax
mov esi, r10d
jmp 0x43530d
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov rbp, rax
mov esi, r9d
jmp 0x43530d
mov rbp, rax
jmp 0x43530d
inc r14
mov rax, qword [rsp + 0x30]
mov esi, dword [rax + r11 + 8]
inc r12
cmp esi, 0x7f
ja 0x435343
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x43532f
call fcn.0055d40c
mov rcx, qword [rsp + 0x2b0]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 8]
mov byte [rax + rdx], sil
inc rdx
mov qword [rcx + 0x10], rdx
jmp 0x435231
mov dword [rsp + 0x70], 0
mov eax, esi
cmp esi, 0x800
jae 0x435372
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x70], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x71], sil
mov esi, 2
jmp 0x4353d9
cmp esi, 0x10000
jae 0x4353a4
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x70], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x71], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x72], sil
mov esi, 3
jmp 0x4353d9
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x70], al
mov eax, esi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x71], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x72], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x73], sil
mov esi, 4
mov rdx, rsi
call fcn.0055d172
mov eax, esi
not eax
mov rcx, qword [rsp + 0x2b0]
mov r13, qword [rcx + 0x10]
mov rcx, qword [rcx + 8]
add rcx, r13
and eax, 1
mov edx, esi
and edx, 0xfffffffe
imul rdx, rax
mov eax, esi
or eax, 1
mov r8d, esi
and r8d, 1
neg r8d
and r8d, eax
add r8, rdx
lea rdx, [rsp + 0x70]
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x2b0]
add r13, rsi
mov qword [rcx + 0x10], r13
jmp 0x435231
mov r13, qword [rcx + 8]
mov r12, qword [rcx + 0x10]
test r15, r15
mov rax, qword [rsp + 0x60]
je 0x435530
cmp r12, r15
jbe 0x43552a
cmp byte [r13 + r15], 0xbf
jg 0x435530
jmp 0x4373a5
mov rax, rbp
jmp 0x434eaa
jne 0x43738b
add r15, rbp
cmp r14, 8
jb 0x43551c
lea rcx, [rbp + 7]
and rcx, 0xfffffffffffffff8
mov rax, rcx
sub rax, rbp
cmp rax, r14
ja 0x43551c
movabs rdx, 0x8080808080808080
test qword [rbp], rdx
jne 0x436490
cmp rcx, rbp
mov ecx, 8
cmove rax, rcx
lea rcx, [r14 - 8]
cmp rax, rcx
jae 0x4354f1
lea rdx, [rax + rbp]
movabs r8, 0x8080808080808080
test qword [rdx], r8
jne 0x436490
mov r8d, eax
and r8d, 8
xor rax, 8
lea rax, [rax + r8*2]
add rdx, 8
cmp rax, rcx
jb 0x4354c6
mov rax, r14
or rax, 0xfffffffffffffff7
mov rcx, r14
and rcx, 0xfffffffffffffff7
add rcx, rax
movabs rax, 0x8080808080808080
test qword [rbp + rcx + 1], rax
jne 0x436490
jmp 0x434ecc
mov rax, rbp
mov rbp, r15
mov rsi, rdi
jmp 0x434ead
jne 0x4373a5
lea rsi, [r15 + r13]
mov r14, r12
sub r14, r15
mov dil, 1
test al, al
mov al, 1
jne 0x43554e
mov rcx, rsi
mov rdx, r14
call fcn.004377c4
mov qword [rsp + 0x60], rax
mov al, byte [rsp + 0x41]
or al, byte [rsp + 0x40]
or al, byte [rsp + 0x42]
or al, byte [rsp + 0x43]
or al, byte [rsp + 0x44]
or al, byte [rsp + 0x45]
or al, byte [rsp + 0x46]
or al, byte [rsp + 0x47]
or al, byte [rsp + 0x48]
or al, byte [rsp + 0x49]
or al, byte [rsp + 0x4a]
or al, byte [rsp + 0x4b]
jne 0x434d62
cmp r12, r15
je 0x435d22
add r13, r12
xor eax, eax
xor ebx, ebx
mov r12, rsi
mov ebp, eax
movzx edx, byte [r12]
test dl, dl
js 0x4355ac
inc r12
jmp 0x435625
mov eax, edx
and eax, 0x1f
movzx r8d, byte [r12 + 1]
and r8d, 0x3f
cmp dl, 0xe0
jb 0x435601
movzx ecx, byte [r12 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x435610
movzx r15d, byte [r12 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r15d, 0x3f
or r15d, ecx
or r15d, eax
cmp r15d, 0x110000
je 0x435b6e
add r12, 4
jmp 0x43561c
add r12, 2
shl eax, 6
or eax, r8d
mov r15d, eax
jmp 0x43561c
add r12, 3
shl eax, 0xc
or ecx, eax
mov r15d, ecx
cmp r15d, 0x80
jae 0x435635
xor ebp, ebp
cmp r12, r13
jne 0x43559e
jmp 0x435b6e
mov ecx, r15d
call fcn.0055d659
cmp bpl, al
jbe 0x43564a
test al, al
jne 0x435d18
lea ecx, [r15 - 0x340]
cmp ecx, 4
ja 0x43565f
cmp ecx, 2
jne 0x435d18
cmp r15d, 0xd56
jg 0x4356c5
cmp r15d, 0x9de
jg 0x435725
cmp r15d, 0x93b
jg 0x43583f
lea ecx, [r15 - 0x30f]
cmp ecx, 0x36
ja 0x4356a2
movabs rdx, 0x48020000001005
bt rdx, rcx
jb 0x435b15
lea ecx, [r15 - 0x374]
cmp ecx, 0x13
ja 0x43594e
mov edx, 0x80401
bt edx, ecx
jb 0x435d18
jmp 0x43594e
cmp r15d, 0x11126
jg 0x43578b
cmp r15d, 0xf92
jg 0x4357d1
lea ecx, [r15 - 0xdca]
cmp ecx, 0x15
ja 0x4356f9
mov edx, 0x200021
bt edx, ecx
jb 0x435b15
cmp r15d, 0xd57
je 0x435b15
lea ecx, [r15 - 0xf43]
cmp ecx, 0x3e
ja 0x43594e
movabs rdx, 0x4021004002108401
jmp 0x4358fc
cmp r15d, 0xbd6
jg 0x435817
cmp r15d, 0xbbd
jg 0x435908
lea ecx, [r15 - 0xb3e]
cmp ecx, 0x19
ja 0x435759
mov edx, 0x3000001
bt edx, ecx
jb 0x435b15
lea ecx, [r15 - 0xa33]
cmp ecx, 0x2b
ja 0x435779
movabs rdx, 0x80000000009
bt rdx, rcx
jb 0x435d18
cmp r15d, 0x9df
jne 0x43594e
jmp 0x435d18
cmp r15d, 0x114af
jle 0x43586b
lea ecx, [r15 - 0x114b0]
cmp ecx, 0xd
ja 0x4357b2
mov edx, 0x2401
bt edx, ecx
jb 0x435b15
cmp r15d, 0x115af
je 0x435b15
cmp r15d, 0x11930
je 0x435b15
jmp 0x43594e
cmp r15d, 0x1f70
jg 0x4358b6
cmp r15d, 0x102e
je 0x435b15
cmp r15d, 0x1b35
je 0x435b15
lea ecx, [r15 - 0xf93]
cmp ecx, 0x26
ja 0x43594e
movabs rdx, 0x4002108401
jmp 0x4358fc
cmp r15d, 0xcc1
jg 0x435897
cmp r15d, 0xbd7
je 0x435b15
cmp r15d, 0xc56
je 0x435b15
jmp 0x43594e
cmp r15d, 0x93c
je 0x435b15
cmp r15d, 0x9be
je 0x435b15
cmp r15d, 0x9d7
je 0x435b15
jmp 0x43594e
cmp r15d, 0x11127
je 0x435b15
cmp r15d, 0x1133e
je 0x435b15
cmp r15d, 0x11357
je 0x435b15
jmp 0x43594e
cmp r15d, 0xcc2
je 0x435b15
cmp r15d, 0xd3e
je 0x435b15
jmp 0x43594e
cmp r15d, 0xfa0f
jle 0x435917
cmp r15d, 0x110ba
je 0x435b15
lea ecx, [r15 - 0xfa10]
cmp ecx, 0x12
ja 0x4358e6
mov edx, 0x50005
bt edx, ecx
jb 0x435d18
lea ecx, [r15 - 0xfb1d]
cmp ecx, 0x21
ja 0x43594e
movabs rdx, 0x200000005
bt rdx, rcx
jb 0x435d18
jmp 0x43594e
cmp r15d, 0xbbe
je 0x435b15
jmp 0x43594e
cmp r15d, 0x2125
jle 0x435b22
lea ecx, [r15 - 0x2329]
cmp ecx, 2
jb 0x435d18
cmp r15d, 0x2126
je 0x435d18
cmp r15d, 0x2adc
je 0x435d18
lea ecx, [r15 - 0x2f800]
cmp ecx, 0x21e
jb 0x435d18
lea ecx, [r15 - 0x1d1bb]
cmp ecx, 6
jb 0x435d18
lea ecx, [r15 - 0x1d15e]
cmp ecx, 7
jb 0x435d18
lea ecx, [r15 - 0xfb46]
cmp ecx, 9
jb 0x435d18
lea ecx, [r15 - 0xfb43]
cmp ecx, 2
jb 0x435d18
mov ecx, r15d
and ecx, 0xfffffffe
cmp ecx, 0xfb40
je 0x435d18
lea edx, [r15 - 0xfb38]
cmp edx, 5
jb 0x435d18
lea edx, [r15 - 0xfb2a]
cmp edx, 0xd
jb 0x435d18
lea edx, [r15 - 0xfa70]
cmp edx, 0x6a
jb 0x435d18
lea edx, [r15 - 0xfa2a]
cmp edx, 0x44
jb 0x435d18
lea edx, [r15 - 0xfa25]
cmp edx, 2
jb 0x435d18
lea edx, [r15 - 0xfa15]
cmp edx, 0xa
jb 0x435d18
lea edx, [r15 - 0xf900]
cmp edx, 0x10e
jb 0x435d18
cmp ecx, 0x212a
je 0x435d18
cmp ecx, 0x2000
je 0x435d18
cmp ecx, 0x1fee
je 0x435d18
lea edx, [r15 - 0xf75]
cmp edx, 2
jb 0x435d18
cmp ecx, 0xb5c
je 0x435d18
lea edx, [r15 - 0xa59]
cmp edx, 3
jb 0x435d18
mov edx, r15d
and edx, 0xfffffff8
cmp edx, 0x958
je 0x435d18
cmp ecx, 0x9dc
je 0x435d18
lea edx, [r15 - 0x11a8]
cmp edx, 0x1b
jb 0x435b15
lea edx, [r15 - 0x1161]
cmp edx, 0x15
jb 0x435b15
lea edx, [r15 - 0xcd5]
cmp edx, 2
jb 0x435b15
lea edx, [r15 - 0x653]
cmp edx, 3
jb 0x435b15
cmp ecx, 0x330
je 0x435b15
lea ecx, [r15 - 0x32d]
cmp ecx, 2
jb 0x435b15
lea ecx, [r15 - 0x323]
cmp ecx, 6
jb 0x435b15
lea ecx, [r15 - 0x313]
cmp ecx, 2
jb 0x435b15
lea ecx, [r15 - 0x300]
cmp ecx, 5
jb 0x435b15
lea ecx, [r15 - 0x306]
cmp ecx, 7
jb 0x435b15
add r15d, 0xffffcf67
cmp r15d, 1
ja 0x435b17
mov bl, 2
cmp r12, r13
jne 0x43559c
jmp 0x435b6e
lea ecx, [r15 - 0x1fbe]
cmp ecx, 0x3f
ja 0x435b42
movabs rdx, 0xa800202020202801
bt rdx, rcx
jb 0x435d18
lea ecx, [r15 - 0x1f71]
cmp ecx, 0xc
ja 0x435b5c
mov edx, 0x1555
bt edx, ecx
jb 0x435d18
cmp r15d, 0x1fbb
je 0x435d18
jmp 0x43594e
test bl, bl
je 0x435d22
movzx eax, bl
cmp eax, 1
je 0x435d18
lea rdx, [rsp + 0x76]
movups xmmword [rdx + 0x2a], xmm6
xor ecx, ecx
mov qword [rdx + 0x38], rcx
movups xmmword [rsp + 0x220], xmm6
movzx eax, word [rsp + 0x22e]
mov word [rdx + 0x10], ax
movups xmm0, xmmword [rsp + 0x21e]
movups xmmword [rdx], xmm0
mov dword [rsp + 0x70], ecx
mov word [rsp + 0x74], 0
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], rsi
mov byte [rsp + 0xb8], cl
mov dword [rsp + 0xbc], ecx
mov byte [rsp + 0xc0], cl
mov dword [rsp + 0xc4], ecx
mov byte [rsp + 0xc8], cl
mov dword [rsp + 0xcc], ecx
mov byte [rsp + 0xd0], cl
mov dword [rsp + 0xd4], ecx
mov byte [rsp + 0xd8], cl
mov qword [rsp + 0xe0], rcx
mov dword [rsp + 0xf0], 0x110000
mov byte [rsp + 0xf4], cl
mov rbx, rsi
cmp rbx, r13
je 0x435cb9
movzx ebp, byte [rbx]
test bpl, bpl
js 0x435c3d
inc rbx
jmp 0x435c9b
mov eax, ebp
and eax, 0x1f
movzx edx, byte [rbx + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x435c83
movzx ecx, byte [rbx + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x435c90
movzx ebp, byte [rbx + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
je 0x435cb9
add rbx, 4
jmp 0x435c9b
add rbx, 2
shl eax, 6
or eax, edx
mov ebp, eax
jmp 0x435c9b
add rbx, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
lea rcx, [rsp + 0x70]
call fcn.00431c80
mov r15b, 1
cmp eax, 0x110000
je 0x435ccf
cmp eax, ebp
je 0x435c27
jmp 0x435ccf
lea rcx, [rsp + 0x70]
call fcn.00431c80
cmp eax, 0x110000
setne r15b
neg r15b
cmp dword [rsp + 0xb0], 0
je 0x435cee
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
call fcn.00556560
cmp dword [rsp + 0x70], 0
je 0x435d13
cmp qword [rsp + 0x78], 0
je 0x435d13
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
test r15b, r15b
je 0x435d22
mov byte [rsp + 0x45], 1
jmp 0x434d62
mov rcx, rsi
mov rdx, r14
mov r8, qword [rsp + 0x1e8]
lea r9, [rsp + 0x40]
call fcn.004375d4
jmp 0x434d62
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rdx
mov rcx, rdx
shr rcx, 1
mov rax, rcx
movabs rdx, 0x7ffffffffffffef
and rax, rdx
mov edx, ecx
and edx, 0x10
or rcx, 0x10
imul rcx, rdx
xor rdx, 0x10
imul rdx, rax
add rcx, rdx
mov edx, 8
call fcn.00414fe0
mov qword [rsp + 0x168], rax
test rax, rax
je 0x437427
mov ecx, 0x100
mov edx, 8
call fcn.00414fe0
test rax, rax
je 0x43743a
mov r13, rax
mov r11, qword [rsp + 0x30]
lea rax, [r11 + 0x20]
mov qword [rsp + 0x170], rax
lea rax, [r11 + 8]
mov qword [rsp + 0x1d8], rax
lea rax, [r11 - 8]
mov qword [rsp + 0x1d0], rax
lea rax, [r11 - 0x10]
mov qword [rsp + 0x1e0], rax
mov eax, 0x10
mov qword [rsp + 0x178], rax
xor ebx, ebx
xor edi, edi
mov rdx, qword [rsp + 0x38]
mov rax, rdi
shl rax, 4
lea rcx, [r11 + rax]
mov rsi, rdx
sub rsi, rdi
cmp rsi, 2
jae 0x435e17
mov r8, rsi
jmp 0x435f0c
mov r9, qword [rcx + 0x10]
cmp r9, qword [rcx]
jae 0x435ed9
mov r8d, 2
cmp rsi, 2
je 0x435e60
mov rdx, qword [rsp + 0x170]
lea r10, [rdx + rax]
mov r11, r9
mov r9, qword [r10]
cmp r9, r11
jae 0x435e56
inc r8
add r10, 0x10
cmp rsi, r8
jne 0x435e3c
mov r8, rsi
mov r11, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov r9, r8
add r9, rdi
jb 0x437406
mov r15, r9
cmp r9, rdx
ja 0x437418
cmp r8, 2
jb 0x435f10
mov r12, rdi
mov rdx, r8
shr rdx, 1
add rax, qword [rsp + 0x1d8]
mov r9, r15
shl r9, 4
add r9, qword [rsp + 0x1d0]
mov r10, qword [rax - 8]
mov r11d, dword [rax]
mov rsi, qword [r9 - 8]
mov edi, dword [r9]
mov qword [rax - 8], rsi
mov dword [rax], edi
mov qword [r9 - 8], r10
mov dword [r9], r11d
add rax, 0x10
add r9, 0xfffffffffffffff0
dec rdx
jne 0x435ea2
mov r11, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rdi, r12
jmp 0x435f10
mov r8d, 2
cmp rsi, 2
je 0x435f0c
add rax, qword [rsp + 0x170]
mov r10, r9
mov r9, qword [rax]
cmp r9, r10
jb 0x435f07
inc r8
add rax, 0x10
cmp rsi, r8
jne 0x435eed
mov r8, rsi
mov rdx, qword [rsp + 0x38]
lea r15, [r8 + rdi]
mov rsi, r15
sub rsi, rdi
jb 0x4373c4
cmp r15, rdx
ja 0x4373c4
jae 0x435f6a
cmp r8, 0xa
jae 0x435f6a
lea rsi, [rdi + 0xa]
cmp rsi, rdx
cmovae rsi, rdx
mov qword [rsp + 0x160], rsi
sub rsi, rdi
jb 0x4373dc
cmp r8, 2
mov eax, 1
cmovb r8, rax
mov rdx, rsi
call fcn.00433af8
mov r11, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
jmp 0x435f72
mov qword [rsp + 0x160], r15
mov r12, qword [rsp + 0x178]
cmp rbx, r12
movabs r8, 0x7ffffffffffffef
jne 0x43605e
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rbx
mov rbx, r12
not rbx
mov eax, ebx
and eax, 2
mov rcx, r12
and rcx, 0xfffffffffffffffd
imul rcx, rax
mov eax, r12d
and eax, 2
mov rdi, r12
or rdi, 2
imul rdi, rax
add rdi, rcx
mov rax, rdi
and rax, r8
mov edx, edi
and edx, 0x10
mov rcx, rdi
or rcx, 0x10
imul rcx, rdx
xor rdx, 0x10
imul rdx, rax
add rcx, rdx
mov edx, 8
call fcn.00414fe0
test rax, rax
je 0x4373f3
mov r15, rax
and ebx, 0x10
mov rax, r12
movabs rcx, 0x7ffffffffffffef
and rax, rcx
imul rax, rbx
mov ecx, r12d
and ecx, 0x10
or r12, 0x10
imul r12, rcx
add r12, rax
mov rcx, r15
mov rdx, r13
mov r8, r12
call sub.msvcrt.dll_memcpy
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, r13
call fcn.005ab9d4
mov qword [rsp + 0x178], rdi
mov r13, r15
mov r11, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov rax, rbx
shl rax, 4
mov qword [r13 + rax], rsi
mov qword [r13 + rax + 8], rdi
inc rbx
mov rax, rbx
cmp rbx, 2
mov qword [rsp + 0x1f8], r13
jb 0x436449
mov rbx, rax
lea r15, [rax - 1]
mov rcx, r15
shl rcx, 4
mov rax, qword [r13 + rcx]
mov rcx, qword [r13 + rcx + 8]
add rcx, rax
cmp rcx, rdx
je 0x43611d
mov rsi, rbx
shl rsi, 4
cmp qword [rsi + r13 - 0x20], rax
jbe 0x43611d
cmp rbx, 2
jbe 0x436449
mov rcx, rbx
or rcx, 0xfffffffffffffffd
mov r8, rbx
and r8, 0xfffffffffffffffd
add rcx, r8
inc rcx
cmp rcx, rbx
jae 0x437362
mov r8, qword [rsi + r13 - 0x30]
shl rcx, 4
mov rcx, qword [r13 + rcx]
mov r9, rcx
and r9, rax
mov r10, rcx
xor r10, rax
lea r9, [r10 + r9*2]
cmp r8, r9
jbe 0x436131
cmp rbx, 4
mov rdx, qword [rsp + 0x38]
jb 0x436449
add rcx, r8
cmp qword [rsi + r13 - 0x40], rcx
jbe 0x436136
jmp 0x436449
cmp rbx, 3
jb 0x436152
mov rcx, rbx
shl rcx, 4
mov r8, qword [rcx + r13 - 0x30]
jmp 0x436136
mov rdx, qword [rsp + 0x38]
cmp r8, rax
jae 0x436152
mov rax, rbx
or rax, 0xfffffffffffffffc
mov rcx, rbx
and rcx, 0xfffffffffffffffc
lea r8, [rax + rcx]
inc r8
jmp 0x436167
mov rax, rbx
xor rax, 0xfffffffffffffffd
mov rcx, rbx
and rcx, 0xfffffffffffffffd
lea r8, [rax + rcx*2]
inc r8
cmp r8, rbx
jae 0x4372bb
lea rax, [r8 + 1]
cmp rbx, rax
jbe 0x4372f0
mov r9, r8
shl r9, 4
mov rcx, qword [r13 + r9 + 8]
shl rax, 4
mov r10, qword [r13 + rax]
mov r12, qword [r13 + rax + 8]
add r12, r10
mov rdi, r12
sub rdi, rcx
jb 0x43732a
mov qword [rsp + 0x120], r15
mov qword [rsp + 0x58], rbx
cmp r12, rdx
ja 0x43733b
mov qword [rsp + 0x210], r10
mov qword [rsp + 0x130], r8
lea rdx, [r9 + r13]
mov qword [rsp + 0x128], rdx
mov r8, qword [r13 + r9]
lea rdx, [r13 + rax]
mov qword [rsp + 0x208], rdx
lea rax, [r13 + rax + 8]
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x140], rcx
mov r15, rcx
shl r15, 4
add r15, r11
mov r13, r8
shl r13, 4
lea rsi, [r15 + r13]
shl r12, 4
mov rbx, rdi
sub rbx, r8
cmp rbx, r8
mov qword [rsp + 0x50], r8
jae 0x4362d0
mov eax, ebx
and eax, 0x10
mov r8, rbx
or r8, 0x10
imul r8, rax
xor rax, 0x10
mov rcx, rbx
and rcx, 0xffffffffffffffef
imul rcx, rax
add r8, rcx
mov rdi, qword [rsp + 0x168]
mov rcx, rdi
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov rdx, rdi
mov r13, rbx
shl r13, 4
add r13, rdi
cmp qword [rsp + 0x50], 0
jle 0x43636c
test rbx, rbx
jle 0x43636c
add r12, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x128]
mov rax, qword [r13 - 0x10]
cmp rax, qword [rsi - 0x10]
jb 0x4362ab
add r13, 0xfffffffffffffff0
mov rax, r13
jmp 0x4362b2
add rsi, 0xfffffffffffffff0
mov rax, rsi
movups xmm0, xmmword [rax]
movups xmmword [r12], xmm0
cmp rsi, r15
jbe 0x4362c8
add r12, 0xfffffffffffffff0
cmp r13, rdx
ja 0x436298
mov r15, rsi
jmp 0x43637c
mov rax, r8
and rax, 0xffffffffffffffef
mov ecx, r8d
and ecx, 0x10
or r8, 0x10
imul r8, rcx
xor rcx, 0x10
imul rcx, rax
add r8, rcx
mov rbx, qword [rsp + 0x168]
mov rcx, rbx
mov rdx, r15
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x50]
mov rdx, rbx
add r13, rbx
test rax, rax
jle 0x43636f
cmp rdi, rax
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x128]
jle 0x43637c
add r12, qword [rsp + 0x30]
mov r8, rdx
mov rcx, qword [rsi]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, rsi
shl rdx, 4
add rdx, r8
movups xmm0, xmmword [r9]
movups xmmword [r15], xmm0
add r15, 0x10
cmp rdx, r13
jae 0x43637c
mov al, cl
shl rax, 4
add rsi, rax
cmp rsi, r12
jb 0x43632a
jmp 0x43637c
mov r15, rsi
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x128]
sub r13, rdx
shr r13, 4
mov rax, r13
movabs rcx, 0xfffffffffffffef
and rax, rcx
mov ecx, r13d
and ecx, 0x10
or r13, 0x10
imul r13, rcx
xor rcx, 0x10
imul rcx, rax
add r13, rcx
mov rcx, r15
mov r8, r13
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x210]
add rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x208]
mov qword [rcx], rax
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x200]
mov qword [rcx], rax
lea rdx, [rbx + 0x10]
mov rcx, qword [rsp + 0x130]
mov r8, rcx
not r8
add r8, rdi
mov rax, r8
and rax, 0xffffffffffffffef
sub ecx, edi
and ecx, 0x10
imul rcx, rax
mov eax, r8d
and eax, 0x10
or r8, 0x10
imul r8, rax
add r8, rcx
mov rcx, rbx
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0x120]
cmp rax, 1
mov r11, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov r13, qword [rsp + 0x1f8]
ja 0x436087
mov ebx, 1
mov rdi, qword [rsp + 0x160]
cmp rdi, rdx
jb 0x435df8
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, r13
call fcn.005ab9d4
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, qword [rsp + 0x168]
call fcn.005ab9d4
jmp 0x435200
mov qword [rsp + 0x30], rcx
jmp 0x435200
mov byte [rsp + 0x40], 1
mov dil, 1
mov al, 1
jmp 0x434d5d
mov rax, qword [rsp + 0x2b0]
mov rcx, qword [rax + 8]
mov rsi, qword [rax + 0x10]
mov r8, qword [rsp + 0x1f0]
test r8, r8
je 0x4364fb
cmp rsi, r8
jbe 0x4364f9
cmp byte [rcx + r8], 0xbf
jg 0x4364fb
lea rax, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_hide_0.5.0_src_uts46.rs
mov qword [rsp + 0x20], rax
mov rdx, rsi
jmp 0x4373a0
lea r8, [0x005c82a0]
mov rcx, rax
jmp 0x4364ef
lea r8, [0x005c82b8]
mov rdx, r9
call fcn.004262b0
ud2
jne 0x4364c8
add rcx, r8
mov rax, rsi
sub rax, r8
lea r14, [rsp + 0x70]
mov qword [r14], rcx
mov qword [r14 + 8], rax
xor ecx, ecx
mov qword [r14 + 0x10], rcx
mov qword [r14 + 0x18], rax
mov qword [r14 + 0x20], 1
movabs rdx, 0x2e0000002e
mov qword [r14 + 0x28], rdx
mov qword [r14 + 0x30], rcx
mov qword [r14 + 0x38], rax
mov word [r14 + 0x40], 1
mov r12d, 0x62f8
mov rcx, r14
call fcn.00437470
mov r9, qword [rsp + 0x2b0]
test rax, rax
je 0x43690c
cmp byte [rsp + 0x60], 0
je 0x436545
mov r13, rdx
test rdx, rdx
je 0x436545
mov r15, rax
movzx ecx, byte [rax]
test cl, cl
js 0x43657d
lea rbp, [r15 + 1]
jmp 0x4365e0
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [r15 + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x4365c7
movzx edx, byte [r15 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x4365d5
movzx ecx, byte [r15 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x436545
lea rbp, [r15 + 4]
jmp 0x4365e0
lea rbp, [r15 + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x4365e0
lea rbp, [r15 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r13, r15
call fcn.0055d445
test al, al
je 0x4366af
movzx eax, al
cmp eax, 0x11
je 0x4366af
cmp eax, 9
mov r9, qword [rsp + 0x2b0]
jne 0x436907
cmp rbp, r13
je 0x436782
movzx ecx, byte [rbp]
test cl, cl
js 0x436623
inc rbp
jmp 0x436688
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x43666f
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x43667d
movzx ecx, byte [rbp + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x436782
add rbp, 4
jmp 0x436688
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x436688
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.0055d445
cmp al, 0xe
mov r9, qword [rsp + 0x2b0]
ja 0x436907
movzx eax, al
bt r12, rax
jb 0x43660d
jmp 0x436907
cmp rbp, r13
je 0x436791
xor ebx, ebx
xor edi, edi
mov r9, qword [rsp + 0x2b0]
movzx ecx, byte [rbp]
test cl, cl
js 0x4366d1
inc rbp
jmp 0x436736
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x43671d
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x43672b
movzx ecx, byte [rbp + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x43679d
add rbp, 4
jmp 0x436736
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x436736
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.0055d445
cmp al, 1
je 0x436754
movzx ecx, al
cmp ecx, 5
mov r9, qword [rsp + 0x2b0]
jne 0x436760
mov dil, 1
jmp 0x436777
mov bl, 1
mov r9, qword [rsp + 0x2b0]
jmp 0x436777
cmp al, 0x11
ja 0x436907
mov eax, 0x260fb
bt rax, rcx
jae 0x436907
cmp rbp, r13
jne 0x4366c4
jmp 0x43679d
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x4367d6
dec r13
jmp 0x4367b3
xor edi, edi
xor ebx, ebx
mov r9, qword [rsp + 0x2b0]
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x436882
dec r13
jmp 0x436857
mov ecx, ebp
call fcn.0055d445
cmp al, 0xd
jne 0x43682c
cmp r15, r13
je 0x436545
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x4367d6
dec r13
jmp 0x43681f
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x4367ff
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x436808
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x43680f
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x436817
add r13, 0xfffffffffffffffd
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp ebp, 0x110000
jne 0x4367b3
jmp 0x436545
mov ecx, ebp
call fcn.0055d445
cmp al, 9
je 0x436545
mov ecx, ebp
call fcn.0055d445
mov r9, qword [rsp + 0x2b0]
cmp al, 5
je 0x436545
jmp 0x436907
mov ecx, ebp
call fcn.0055d445
cmp al, 0xd
jne 0x4368d5
cmp r15, r13
mov r9, qword [rsp + 0x2b0]
je 0x436907
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x436882
dec r13
jmp 0x4368cb
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x4368ab
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x4368b4
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x4368bb
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x4368c3
add r13, 0xfffffffffffffffd
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp ebp, 0x110000
jne 0x436857
jmp 0x436907
mov ecx, ebp
call fcn.0055d445
cmp al, 0x11
mov r9, qword [rsp + 0x2b0]
ja 0x436907
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x436907
test bl, bl
je 0x436545
test dil, dil
je 0x436545
mov byte [rsp + 0x42], 1
cmp qword [rsp + 0x148], 0
mov rdi, r9
je 0x436934
mov r8, qword [rsp + 0x150]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
mov rsi, qword [rdi + 0x10]
mov rcx, rsi
call fcn.004d0988
mov rbx, rdx
mov rcx, qword [rdi + 0x10]
lea r13, [rsp + 0x70]
mov qword [r13 + 0x10], rcx
movups xmm0, xmmword [rdi]
movaps xmmword [r13], xmm0
mov qword [rdi], rax
mov qword [rdi + 8], rdx
xor r15d, r15d
mov qword [rdi + 0x10], r15
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rsi + 0x18]
mov rdx, qword [rsi + 0x20]
call fcn.004c9843
mov r11, rbx
mov rax, qword [r13 + 0x10]
mov qword [rsi + 0x28], rax
movaps xmm0, xmmword [r13]
movups xmmword [rsi + 0x18], xmm0
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x28]
mov qword [r13], rax
mov qword [r13 + 8], rcx
mov qword [r13 + 0x10], r15
mov qword [r13 + 0x18], rcx
mov qword [r13 + 0x20], 1
movabs rax, 0x2e0000002e
mov qword [r13 + 0x28], rax
mov qword [r13 + 0x30], r15
mov qword [r13 + 0x38], rcx
mov word [r13 + 0x40], 1
xor eax, eax
mov qword [rsp + 0x130], rax
movabs r14, 0x8080808080808080
mov rsi, r11
mov rcx, r13
call fcn.00437470
mov qword [rsp + 0x120], rax
test rax, rax
je 0x43719c
mov r12, rdx
test byte [rsp + 0x130], 1
je 0x436a39
mov rcx, qword [rsp + 0x2b0]
cmp r15, qword [rcx]
jne 0x436a27
mov rdx, r15
call fcn.0055d40c
mov rcx, qword [rsp + 0x2b0]
mov rsi, qword [rcx + 8]
mov r15, qword [rcx + 0x10]
mov byte [rsi + r15], 0x2e
mov rbp, qword [rcx + 0x10]
inc rbp
mov qword [rcx + 0x10], rbp
jmp 0x436a44
mov rbp, r15
mov rcx, qword [rsp + 0x2b0]
cmp r12, 8
mov rsi, qword [rsp + 0x120]
jb 0x436b3e
lea rdx, [rsi + 7]
and rdx, 0xfffffffffffffff8
mov rax, rdx
sub rax, rsi
cmp rax, r12
ja 0x436b3e
test qword [rsi], r14
jne 0x436b4f
cmp rdx, rsi
mov edx, 8
cmove rax, rdx
lea r9, [r12 - 8]
cmp rax, r9
jae 0x436ab1
lea rdx, [rsi + rax]
test qword [rdx], r14
jne 0x436b4f
mov r8d, eax
and r8d, 8
xor rax, 8
lea rax, [rax + r8*2]
add rdx, 8
cmp rax, r9
jb 0x436a90
mov rax, r12
or rax, 0xfffffffffffffff7
mov rdx, r12
and rdx, 0xfffffffffffffff7
add rdx, rax
test qword [rsi + rdx + 1], r14
jne 0x436b4f
mov rdx, r12
call fcn.0055d172
mov eax, r12d
not eax
mov rcx, qword [rsp + 0x2b0]
mov rdi, qword [rcx + 8]
mov rbp, qword [rcx + 0x10]
lea rcx, [rdi + rbp]
mov edx, r12d
and edx, 1
neg rdx
and eax, 1
mov r9, r12
and r9, 0xfffffffffffffffe
imul r9, rax
mov r8, r12
or r8, 1
and r8, rdx
add r8, r9
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov r11, rdi
mov rcx, qword [rsp + 0x2b0]
add rbp, r12
mov qword [rcx + 0x10], rbp
mov al, 1
mov qword [rsp + 0x130], rax
mov r15, rbp
jmp 0x4369d9
xor eax, eax
cmp r12, rax
je 0x436acd
cmp byte [rsi + rax], 0
lea rax, [rax + 1]
jns 0x436b40
mov edx, 4
call fcn.0055d172
mov rcx, qword [rsp + 0x2b0]
mov r11, qword [rcx + 8]
mov r15, qword [rcx + 0x10]
mov dword [r11 + r15], 0x2d2d6e78
add r15, 4
mov qword [rcx + 0x10], r15
mov al, 1
mov qword [rsp + 0x130], rax
test r12, r12
je 0x4369d9
mov rdi, qword [rsp + 0x120]
mov rax, rdi
add rax, r12
mov r12, rax
xor esi, esi
xor r8d, r8d
movzx ebx, byte [rdi]
test bl, bl
js 0x436bae
inc rdi
jmp 0x436c1b
mov eax, ebx
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp bl, 0xdf
jbe 0x436bfe
mov r9, r8
movzx r8d, byte [rdi + 2]
shl edx, 6
and r8d, 0x3f
or r8d, edx
cmp bl, 0xf0
jb 0x436c0b
movzx ebx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl r8d, 6
and ebx, 0x3f
or ebx, r8d
or ebx, eax
cmp ebx, 0x110000
je 0x43717c
add rdi, 4
jmp 0x436c18
add rdi, 2
shl eax, 6
or eax, edx
mov ebx, eax
jmp 0x436c1b
add rdi, 3
shl eax, 0xc
or r8d, eax
mov ebx, r8d
mov r8, r9
mov eax, esi
inc eax
mov dword [rsp + 0x68], eax
je 0x437141
cmp ebx, 0x80
jae 0x436c6d
cmp r15, qword [rcx]
jne 0x436c54
mov rdx, r15
mov r15, r8
call fcn.0055d40c
mov r8, r15
mov rcx, qword [rsp + 0x2b0]
mov r11, qword [rcx + 8]
mov r15, qword [rcx + 0x10]
mov byte [r11 + r15], bl
inc r15
mov qword [rcx + 0x10], r15
mov eax, r8d
and eax, 1
xor r8d, 1
lea r8d, [r8 + rax*2]
inc esi
cmp rdi, r12
jne 0x436ba2
test r8d, r8d
je 0x436cae
cmp r15, qword [rcx]
jne 0x436ca0
mov rdx, r15
mov rsi, r8
call fcn.0055d40c
mov r8, rsi
mov rcx, qword [rsp + 0x2b0]
mov r11, qword [rcx + 8]
mov r15, qword [rcx + 0x10]
mov byte [r11 + r15], 0x2d
inc r15
mov qword [rcx + 0x10], r15
jmp 0x436cb1
xor r8d, r8d
cmp r8d, dword [rsp + 0x68]
jae 0x4369d9
mov qword [rsp + 0x140], rbp
mov rax, r8
xor r8d, r8d
mov ebp, 0x48
mov esi, pe_nt_image_headers64
mov qword [rsp + 0x38], rax
mov r14d, eax
mov qword [rsp + 0x58], r12
mov rax, qword [rsp + 0x120]
cmp rax, r12
je 0x437259
movzx ebx, byte [rax]
test bl, bl
js 0x436cfe
inc rax
jmp 0x436d69
mov edx, ebx
and edx, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp bl, 0xdf
jbe 0x436d4e
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp bl, 0xf0
jb 0x436d5c
movzx ebx, byte [rax + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and ebx, 0x3f
or ebx, r9d
or ebx, edx
cmp ebx, 0x110000
je 0x437259
add rax, 4
jmp 0x436d69
add rax, 2
shl edx, 6
or edx, r10d
mov ebx, edx
jmp 0x436d69
add rax, 3
shl edx, 0xc
or r9d, edx
mov ebx, r9d
cmp esi, ebx
ja 0x436ce9
jmp 0x436db1
add rax, 4
jmp 0x436da2
add rax, 2
shl r9d, 6
or r9d, r11d
mov edx, r9d
jmp 0x436d97
add rax, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
mov rcx, qword [rsp + 0x2b0]
mov r11, rdi
cmp ebx, edx
mov r9d, edx
cmovb r9d, ebx
cmp esi, edx
cmovbe ebx, r9d
cmp rax, r12
je 0x436e1f
movzx edx, byte [rax]
test dl, dl
js 0x436dc2
inc rax
jmp 0x436da2
mov rdi, r11
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x436d79
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x436d89
movzx edx, byte [rax + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r9d
cmp edx, 0x110000
mov rcx, qword [rsp + 0x2b0]
mov r11, rdi
jne 0x436d73
mov eax, ebx
not eax
and eax, esi
mov r13d, esi
not r13d
and r13d, ebx
mov r10d, r13d
sub r10d, eax
mov eax, r8d
not eax
lea r9d, [r14 + 1]
xor edx, edx
div r9d
cmp r10d, eax
ja 0x43712a
xor esi, ebx
add r13d, r13d
sub r13d, esi
imul r13d, r9d
add r13d, r8d
mov r10, qword [rsp + 0x120]
mov dword [rsp + 0x50], ebx
movzx eax, byte [r10]
test al, al
js 0x436e73
inc r10
jmp 0x436ee0
mov r9d, eax
and r9d, 0x1f
movzx r8d, byte [r10 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x436ec3
movzx edx, byte [r10 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x436ed3
movzx eax, byte [r10 + 3]
and r9d, 7
shl r9d, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, r9d
cmp eax, 0x110000
je 0x437122
add r10, 4
jmp 0x436ee0
add r10, 2
shl r9d, 6
or r9d, r8d
mov eax, r9d
jmp 0x436ee0
add r10, 3
shl r9d, 0xc
or edx, r9d
mov eax, edx
cmp eax, ebx
jae 0x436eed
inc r13d
je 0x43712a
cmp eax, ebx
jne 0x436fc7
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x60], r14
lea ebx, [rbp + 0x1a]
mov esi, ebp
neg esi
mov r14d, 0x24
mov dword [rsp + 0x138], r13d
mov r12d, r13d
lea r8d, [rsi + r14]
cmp r14d, ebx
mov eax, 0x1a
cmovae r8d, eax
cmp r14d, ebp
mov eax, 1
cmovbe r8d, eax
mov r13d, r12d
sub r13d, r8d
jb 0x436fd2
mov edi, r8d
sub edi, 0x24
je 0x43721c
neg edi
mov eax, r8d
not eax
and eax, r12d
add eax, eax
xor r12d, r8d
sub eax, r12d
xor edx, edx
div edi
mov r12d, edx
add r12d, r8d
cmp r12d, 0x19
ja 0x436f73
add r12d, 0x61
jmp 0x436f8c
cmp r12d, 0x23
ja 0x437231
add r12d, 0xe6
movzx r12d, r12b
xor r12d, 0x30
cmp r15, qword [rcx]
jne 0x436fa9
mov rdx, r15
call fcn.0055d40c
mov rcx, qword [rsp + 0x2b0]
mov r11, qword [rcx + 8]
mov r15, qword [rcx + 0x10]
mov byte [r11 + r15], r12b
inc r15
mov qword [rcx + 0x10], r15
mov eax, r13d
xor edx, edx
div edi
mov r12d, eax
add r14d, 0x24
jmp 0x436f17
mov r8d, r13d
mov r9d, r14d
jmp 0x437102
cmp r12d, 0x19
ja 0x436ff3
add r12d, 0x61
mov esi, 0xd41d41d5
mov ebx, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x138]
jmp 0x437021
cmp r12d, 0x23
mov esi, 0xd41d41d5
mov ebx, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x138]
ja 0x437231
add r12d, 0xe6
movzx r12d, r12b
xor r12d, 0x30
cmp r15, qword [rcx]
jne 0x43703e
mov rdx, r15
call fcn.0055d40c
mov rcx, qword [rsp + 0x2b0]
mov r11, qword [rcx + 8]
mov r15, qword [rcx + 0x10]
mov rax, qword [rsp + 0x38]
mov byte [r11 + r15], r12b
inc r15
mov qword [rcx + 0x10], r15
mov r9d, edi
inc r9d
je 0x43726e
cmp edi, eax
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, ebp
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r9d
add eax, ecx
cmp eax, 0x1c8
mov r12, qword [rsp + 0x58]
mov rdi, r11
jb 0x4370b5
xor ecx, ecx
mov r10d, eax
mov edx, eax
imul rdx, rsi
shr rdx, 0x20
sub r10d, edx
shr r10d, 1
add r10d, edx
shr r10d, 5
add ecx, 0x24
cmp eax, 0x3e57
mov eax, r10d
ja 0x43708f
jmp 0x4370ba
xor ecx, ecx
mov r10d, eax
mov edx, r10d
or edx, 0x24
mov r11d, r10d
and r11d, 0x24
imul edx, r11d
xor r11d, 0x24
mov eax, r10d
and eax, 0xffdb
imul eax, r11d
add eax, edx
add r10d, 0x26
xor edx, edx
div r10w
movzx ebp, ax
add ebp, ecx
mov r14d, r9d
mov r13d, r8d
mov rcx, qword [rsp + 0x2b0]
mov r11, rdi
mov r10, qword [rsp + 0x30]
cmp r10, r12
jne 0x436e66
inc r8d
inc ebx
mov esi, ebx
mov r14d, r9d
cmp r9d, dword [rsp + 0x68]
jb 0x436ce1
jmp 0x437188
mov r8d, r13d
mov r9d, r14d
jmp 0x43710b
movabs r14, 0x8080808080808080
lea r13, [rsp + 0x70]
mov rbp, qword [rsp + 0x140]
mov byte [rsp + 0x40], 1
cmp r15, rbp
jb 0x4369d9
mov r11, qword [rcx + 8]
test rbp, rbp
je 0x436b28
cmp r15, rbp
jbe 0x437171
cmp byte [r11 + rbp], 0xbf
jg 0x436b28
jmp 0x43734a
je 0x436b28
jmp 0x43734a
mov dword [rsp + 0x68], esi
mov r8, r9
jmp 0x436c78
movabs r14, 0x8080808080808080
lea r13, [rsp + 0x70]
jmp 0x4369d9
mov eax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x180]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x40]
mov qword [rcx], rax
movaps xmm6, xmmword [rsp + 0x230]
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_checkup_1.8.0_src_arrayvec.rs
mov edx, 4
mov rcx, r9
call fcn.004292f0
ud2
lea r8, [0x005c8288]
mov rdx, rax
jmp 0x4364f2
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_checkup_1.8.0_src_arrayvec.rs
jmp 0x437212
lea r8, [0x005c82d0]
call fcn.00429500
ud2
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_checkup_1.8.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
jmp 0x4371de
lea rcx, [0x005c8470]
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_hide_0.5.0_src_punycode.rs
mov edx, 0x39
jmp 0x437244
lea rcx, str.explicit_panic
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_hide_0.5.0_src_punycode.rs
mov edx, 0xe
call fcn.00426370
ud2
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_checkup_1.8.0_src_arrayvec.rs
mov edx, 4
jmp 0x4371de
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_hide_0.5.0_src_punycode.rs
mov edx, 0x2b
jmp 0x437244
lea rcx, [0x005c82f0]
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_hide_0.5.0_src_punycode.rs
jmp 0x43729e
ud2
lea rcx, [0x005c82f0]
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_hide_0.5.0_src_punycode.rs
jmp 0x43729e
lea rcx, [0x005c82f0]
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_hide_0.5.0_src_punycode.rs
mov edx, 0x19
jmp 0x437244
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_hide_0.5.0_src_uts46.rs
mov ecx, 4
mov edx, 4
jmp 0x4364f2
lea rax, str.Index_out_of_bounds
lea rcx, [rsp + 0x70]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
xor eax, eax
mov qword [rcx], rax
lea rdx, str.combase.dll
mov qword [rcx + 0x20], rdx
mov qword [rcx + 0x28], rax
lea rdx, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
jmp 0x437323
lea rax, str.Index_out_of_bounds
lea rcx, [rsp + 0x70]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
xor eax, eax
mov qword [rcx], rax
lea rdx, str.combase.dll
mov qword [rcx + 0x20], rdx
mov qword [rcx + 0x28], rax
lea rdx, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
call fcn.00426330
ud2
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
mov rdx, r12
call fcn.00429a20
ud2
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
mov rcx, r12
jmp 0x4371de
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_
lea r8, [0x0062c008]
mov edx, 0x30
jmp 0x437244
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
mov rdx, rbx
jmp 0x4364f2
lea rax, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_hide_0.5.0_src_punycode.rs
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, rsi
xor r8d, r8d
mov r9, r14
jmp 0x4373bd
lea rax, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_hide_0.5.0_src_punycode.rs
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, rsi
mov r8, r15
mov r9, rsi
jmp 0x4373bd
lea rax, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_hide_0.5.0_src_uts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, r12
mov r8, r15
mov r9, r12
call fcn.00425480
ud2
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
mov edx, 0x2c
jmp 0x437244
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
mov rcx, rdi
mov rdx, qword [rsp + 0x160]
jmp 0x437334
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
jmp 0x437267
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
mov rcx, rdi
mov rdx, r9
jmp 0x437334
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
mov rcx, r15
jmp 0x4371de
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
jmp 0x437267
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
jmp 0x437267