Function at 0x420f34
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x3c8
mov qword [rsp + 0x3b8], 0xfffffffffffffffe
mov r14, r9
mov r12, rdx
xor r15d, r15d
mov qword [rsp + 0xd8], r15
mov qword [rsp + 0xe0], r15
xor edx, edx
lea rsi, [0x004646b0]
mov rcx, rsi
call qword [0x004646b8]
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xd8], r15
mov edx, 0x500
mov rcx, rsi
call qword [0x004646b0]
mov rbx, rax
cmp rax, r15
jne 0x420fc9
mov rdx, rax
mov rcx, rsi
call qword [0x004646b8]
jmp 0x4210db
mov rax, r15
mov edi, 1
mov r10d, 0x100
mov byte [rax + rbx], al
add rax, rdi
cmp rax, r10
jb 0x420fd7
mov r8d, 0xffffffff
mov r9, r15
lea r11, [0x0047bd20]
mov cl, byte [r9 + rbx]
xor cl, r8b
movzx edx, cl
mov eax, r8d
shr eax, 8
mov r8d, dword [r11 + rdx*4]
xor r8d, eax
add r9, rdi
cmp r9, r10
jb 0x420ff2
not r8d
cmp r8d, 0x29058c73
je 0x42102e
mov rdx, rbx
mov rcx, rsi
call qword [0x004646b8]
jmp 0x4210db
lea rcx, [rbx + 0x100]
mov edx, 0x400
call fcn.0041b248
mov r13, r15
mov rbp, rbx
mov esi, r15d
mov edi, 0xffffffff
mov r9, r15
mov edx, esi
cmp rdx, r15
jbe 0x42108a
mov r10d, 1
lea r14, [0x0047bd20]
mov cl, byte [r9 + rbp]
xor cl, dil
movzx r8d, cl
mov eax, edi
shr eax, 8
mov edi, dword [r14 + r8*4]
xor edi, eax
add r9, r10
cmp r9, rdx
jb 0x421064
mov r14, qword [rsp + 0x428]
mov rcx, rbp
call fcn.004598b0
not edi
cmp edi, eax
jne 0x4210b7
mov edi, 1
add esi, edi
lea eax, [rdi + 0x1f]
cmp esi, eax
jb 0x421048
add r13, rdi
add rbp, rdi
cmp r13, 0x4e0
jb 0x421045
jmp 0x4210c9
mov rdx, rbx
lea rcx, [0x004646b0]
call qword [0x004646b8]
jmp 0x4210db
mov rdx, rbx
lea rcx, [0x004646b0]
call qword [0x004646b8]
jmp 0x4210e5
mov eax, 0x80004005
jmp 0x423f8f
movabs rax, 0x100000000
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x288], rdi
mov qword [rsp + 0x290], rdi
lea rcx, [rsp + 0x288]
call fcn.0040bf20
cmp eax, r15d
je 0x421143
mov rcx, qword [rsp + 0x288]
call fcn.0040bf00
cmp eax, r15d
je 0x421143
mov rcx, qword [rsp + 0x288]
call fcn.0040bf00
mov ebx, eax
mov dword [rsp + 0x148], eax
jmp 0x421151
call fcn.0040bf48
mov ebx, eax
mov dword [rsp + 0x148], eax
lea rcx, [rsp + 0x1d8]
call fcn.0040bf9c
mov byte [rsp + 0xa1], al
mov dword [rsp + 0x98], ebx
xor ebx, ebx
mov cl, bl
mov dword [rsp + 0x9c], ecx
mov dword [rsp + 0x110], 0xfa0
mov dword [rsp + 0xb8], 0x16
mov byte [rsp + 0x92], bl
mov qword [rsp + 0x118], rbx
mov byte [rsp + 0xa0], bl
movabs rax, 0x400000000
mov qword [rsp + 0x120], rax
mov dword [rsp + 0x174], edi
mov dword [rsp + 0x1e0], ebx
mov dword [rsp + 0x1e4], ebx
mov dword [rsp + 0x1e8], edi
mov qword [rsp + 0x180], rbx
mov dword [rsp + 0x188], ebx
mov dword [rsp + 0x18c], ebx
lea rcx, [rsp + 0x190]
call fcn.00402d6c
nop
lea rcx, [rsp + 0x1a0]
call fcn.0040345c
nop
mov r13, rbx
mov qword [rsp + 0x138], rbx
mov rsi, rbx
mov qword [rsp + 0x140], rbx
mov byte [rsp + 0x90], bl
mov byte [rsp + 0x91], bl
cmp r12, rbx
je 0x4212fb
xor ebp, ebp
cmp dword [r14 + 8], ebp
jbe 0x4212e9
mov rdi, rbp
lea r13d, [rbx + 1]
mov rax, qword [r14]
mov rsi, qword [rdi + rax]
mov rax, qword [r12]
lea rdx, [0x0045bf38]
mov rcx, r12
call qword [rax]
mov rdx, rsi
lea rcx, [rsp + 0xd8]
call fcn.00410748
nop
mov r8, qword [r12]
mov rdx, qword [rax]
mov rcx, r12
call qword [r8]
nop
mov rcx, qword [rsp + 0xd8]
call fcn.00402334
cmp dword [rsi + 0x18], ebp
je 0x4212c8
mov rax, qword [r12]
lea rdx, [0x0045e35c]
mov rcx, r12
call qword [rax]
lea rdx, [rsi + 0x10]
lea rcx, [rsp + 0x1b0]
call fcn.00410748
nop
mov r8, qword [r12]
mov rdx, qword [rax]
mov rcx, r12
call qword [r8]
nop
mov rcx, qword [rsp + 0x1b0]
call fcn.00402334
add ebx, r13d
add rdi, 8
cmp ebx, dword [r14 + 8]
jb 0x421243
mov r13, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x140]
xor ebx, ebx
cmp dword [r14 + 8], ebx
je 0x4212fb
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov ebp, ebx
mov r15d, 0x40
mov qword [rsp + 0xc0], r15
cmp dword [r14 + 8], ebx
jbe 0x421e0c
mov rdi, rbx
mov rax, qword [r14]
mov rbx, qword [rdi + rax]
mov rdx, rbx
lea rcx, [rsp + 0xa8]
call fcn.004035b8
nop
mov rcx, qword [rsp + 0xa8]
call fcn.004028bc
lea rdx, [0x0045e354]
mov rcx, qword [rsp + 0xa8]
call fcn.00402a1c
xor ecx, ecx
cmp al, cl
je 0x42148d
cmp dword [rbx + 0x18], ecx
je 0x421ae6
mov qword [rsp + 0x200], 0xffffffffffffffff
mov byte [rsp + 0x208], cl
mov rdx, qword [rbx + 0x10]
lea rcx, [rsp + 0x200]
call fcn.0040979c
test al, al
je 0x421b07
lea rdx, [rsp + 0x240]
lea rcx, [rsp + 0x200]
call fcn.00408e7c
xor ecx, ecx
cmp al, cl
je 0x421b38
cmp r12, rcx
je 0x4213e4
mov rax, qword [r12]
lea rdx, [0x0045e348]
mov rcx, r12
call qword [rax]
xor r8d, r8d
mov rdx, qword [rsp + 0x240]
mov rcx, r12
call fcn.0041ad14
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
xor ecx, ecx
mov rbx, qword [rsp + 0x240]
cmp r13, rcx
je 0x4213f6
cmp rbx, rsi
je 0x421424
mov rcx, r13
call fcn.00459420
xor esi, esi
mov rcx, rbx
call fcn.00459400
mov r13, rax
mov qword [rsp + 0x138], rax
xor ecx, ecx
cmp rax, rcx
cmovne rsi, rbx
mov qword [rsp + 0x140], rsi
cmp rbx, rcx
je 0x421432
cmp r13, rcx
je 0x421b69
mov byte [rsp + 0x90], 1
lea r9, [rsp + 0x368]
mov r8, rbx
mov rdx, r13
lea rcx, [rsp + 0x200]
call fcn.0040904c
test al, al
je 0x421b97
cmp qword [rsp + 0x368], rbx
jne 0x421bc8
lea rcx, [rsp + 0x200]
call fcn.00408e50
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
xor ebx, ebx
jmp 0x421ac9
mov word [rsp + 0xf8], cx
mov word [rsp + 0xfa], cx
mov qword [rsp + 0x100], rcx
cmp dword [rbx + 0x18], ecx
je 0x42150d
lea rdx, [rsp + 0x160]
mov rcx, qword [rbx + 0x10]
call fcn.004042b8
mov rcx, qword [rsp + 0x160]
xor edx, edx
cmp word [rcx], dx
jne 0x4214fc
cmp dword [rbx + 0x18], edx
je 0x4214fc
mov ecx, 0xffffffff
cmp rax, rcx
ja 0x4214ea
mov edx, eax
lea rcx, [rsp + 0xf8]
call fcn.0040b938
jmp 0x42150d
mov rdx, rax
lea rcx, [rsp + 0xf8]
call fcn.0040b964
jmp 0x42150d
lea rdx, [rbx + 0x10]
lea rcx, [rsp + 0xf8]
call fcn.0040b850
lea rdx, [0x0045e340]
mov rcx, qword [rsp + 0xa8]
call fcn.00402a1c
xor ebx, ebx
cmp al, bl
je 0x4215a1
lea rcx, [rsp + 0xd8]
call fcn.0040345c
nop
lea r8, [rsp + 0x110]
lea rdx, [rsp + 0xf8]
mov rcx, rax
call fcn.0040edec
mov esi, eax
mov rcx, qword [rsp + 0xd8]
call fcn.00402334
cmp esi, ebx
jne 0x421bf7
mov cl, 1
mov dword [rsp + 0x9c], ecx
mov eax, dword [rsp + 0x110]
imul eax, eax, 0x3e8
mov dword [rsp + 0x110], eax
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
jmp 0x421ac9
lea rdx, [0x0045e338]
mov rcx, qword [rsp + 0xa8]
call fcn.00402a1c
cmp al, bl
je 0x42161f
lea rcx, [rsp + 0xc8]
call fcn.0040345c
nop
lea r8, [rsp + 0x110]
lea rdx, [rsp + 0xf8]
mov rcx, rax
call fcn.0040edec
mov esi, eax
mov rcx, qword [rsp + 0xc8]
call fcn.00402334
cmp esi, ebx
jne 0x421c21
mov cl, 1
mov dword [rsp + 0x9c], ecx
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
jmp 0x421ac9
lea rdx, [0x0045e334]
mov rcx, qword [rsp + 0xa8]
call fcn.00402a1c
cmp al, bl
je 0x4216b4
lea rcx, [rsp + 0x1c0]
call fcn.0040345c
nop
lea r8, [rsp + 0x1d0]
lea rdx, [rsp + 0xf8]
mov rcx, rax
call fcn.0040edec
mov esi, eax
mov rcx, qword [rsp + 0x1c0]
call fcn.00402334
cmp esi, ebx
jne 0x421c4b
mov ecx, dword [rsp + 0x1d0]
cmp ecx, r15d
jae 0x421c75
mov eax, 1
shl rax, cl
mov qword [rsp + 0x120], rax
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
jmp 0x421ac9
lea rdx, [0x0045e330]
mov rcx, qword [rsp + 0xa8]
call fcn.00402a1c
cmp al, bl
je 0x4216d9
mov byte [rsp + 0x91], 1
jmp 0x421a57
lea rdx, [0x0045e32c]
mov rcx, qword [rsp + 0xa8]
call fcn.00402a1c
cmp al, bl
jne 0x421a57
lea rdx, [0x0045e328]
mov rcx, qword [rsp + 0xa8]
call fcn.00402a1c
cmp al, bl
je 0x42176a
lea rcx, [rsp + 0x248]
call fcn.0040345c
nop
lea r8, [rsp + 0x174]
lea rdx, [rsp + 0xf8]
mov rcx, rax
call fcn.0040edec
mov esi, eax
mov rcx, qword [rsp + 0x248]
call fcn.00402334
cmp esi, ebx
jne 0x421ca4
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
jmp 0x421ac9
lea rdx, [0x0045e324]
mov rcx, qword [rsp + 0xa8]
call fcn.00402a1c
cmp al, bl
je 0x42181c
lea rcx, [rsp + 0x228]
call fcn.0040345c
nop
lea r8, [rsp + 0x170]
lea rdx, [rsp + 0xf8]
mov rcx, rax
call fcn.0040edec
mov esi, eax
mov rcx, qword [rsp + 0x228]
call fcn.00402334
cmp esi, ebx
jne 0x421cce
mov eax, dword [rsp + 0x170]
cmp eax, ebx
jbe 0x4217fc
mov ecx, dword [rsp + 0x148]
cmp eax, ecx
jae 0x4217fc
mov r8d, 2
mov edx, ecx
lea rcx, [rsp + 0x1e0]
call fcn.0041a620
mov ecx, dword [rsp + 0x170]
mov dword [rsp + 0x1e0], ecx
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
jmp 0x421ac9
lea rdx, [0x0045e31c]
mov rcx, qword [rsp + 0xa8]
call fcn.00402a1c
cmp al, bl
je 0x4218ed
mov dword [rsp + 0x158], ebx
lea rcx, [rsp + 0x370]
call fcn.0040345c
nop
lea r8, [rsp + 0x158]
lea rdx, [rsp + 0xf8]
mov rcx, rax
call fcn.0040edec
mov esi, eax
mov rcx, qword [rsp + 0x370]
call fcn.00402334
cmp esi, ebx
jne 0x421cf8
mov eax, dword [rsp + 0x158]
cmp eax, ebx
je 0x421d22
imul rax, rax, 0xf4240
mov qword [rsp + 0x118], rax
cmp r12, rbx
je 0x4218cd
mov rax, qword [r12]
lea rdx, [0x0045e314]
mov rcx, r12
call qword [rax]
mov edx, dword [rsp + 0x158]
xor r8d, r8d
mov rcx, r12
call fcn.0041ad14
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
nop
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
jmp 0x421ac9
lea rdx, [0x0045c424]
lea rcx, [rsp + 0xa8]
call fcn.004029c4
cmp al, bl
je 0x421a13
mov rdx, qword [rsp + 0xa8]
add rdx, 4
lea rcx, [rsp + 0x1b0]
call fcn.004034c8
nop
lea rdx, [0x0045b850]
mov rcx, qword [rsp + 0x1b0]
call fcn.00402a1c
cmp al, bl
jne 0x4219dd
cmp dword [rsp + 0x1b8], ebx
jne 0x42196b
cmp word [rsp + 0xf8], 8
jne 0x42196b
lea rdx, [0x0045b850]
mov rcx, qword [rsp + 0x100]
call fcn.00402a1c
cmp al, bl
jne 0x4219dd
mov byte [rsp + 0x94], bl
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x98], eax
lea r9, [rsp + 0x94]
lea r8, [rsp + 0x98]
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0x1b0]
call fcn.0040ee3c
mov esi, eax
cmp eax, ebx
jne 0x421d51
mov rcx, qword [rsp + 0x1b0]
call fcn.00402334
nop
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
jmp 0x421ac9
mov byte [rsp + 0xa0], 1
mov rcx, qword [rsp + 0x1b0]
call fcn.00402334
nop
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
jmp 0x421ac9
lea r8, [rsp + 0xf8]
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x180]
call fcn.00410080
mov esi, eax
cmp eax, ebx
jne 0x421d89
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
jmp 0x421ac9
lea rcx, [rsp + 0x218]
call fcn.0040345c
nop
lea r8, [rsp + 0xb8]
lea rdx, [rsp + 0xf8]
mov rcx, rax
call fcn.0040edec
mov esi, eax
mov rcx, qword [rsp + 0x218]
call fcn.00402334
cmp esi, ebx
jne 0x421db3
mov eax, 0x20
cmp dword [rsp + 0xb8], eax
ja 0x421ddd
mov byte [rsp + 0x92], 1
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
inc ebp
add rdi, 8
cmp ebp, dword [r14 + 8]
mov rsi, qword [rsp + 0x140]
jb 0x421318
jmp 0x421e0c
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
mov esi, 0x80070057
jmp 0x423f3b
call fcn.00408e24
mov esi, eax
lea rcx, [rsp + 0x200]
call fcn.00408e50
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
call fcn.00408e24
mov esi, eax
lea rcx, [rsp + 0x200]
call fcn.00408e50
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rcx, [rsp + 0x200]
call fcn.00408e50
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
xor ecx, ecx
call fcn.00459420
nop
mov esi, 0x8007000e
jmp 0x423f3b
call fcn.00408e24
mov esi, eax
lea rcx, [rsp + 0x200]
call fcn.00408e50
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rcx, [rsp + 0x200]
call fcn.00408e50
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
mov esi, 0x80004005
jmp 0x423f3b
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
mov esi, 0x80070057
jmp 0x423f3b
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
mov esi, 0x80070057
jmp 0x423f3b
mov rcx, qword [rsp + 0x1b0]
call fcn.00402334
nop
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rcx, [rsp + 0xf8]
call fcn.0040b6d4
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
mov esi, 0x80070057
jmp 0x423f3b
mov rdi, qword [rsp + 0x440]
cmp r12, rbx
je 0x421e72
lea rcx, [rsp + 0xd8]
call fcn.00402d6c
nop
lea rcx, [rsp + 0xd8]
call fcn.0040cc00
mov r11, qword [r12]
mov rdx, qword [rsp + 0xd8]
mov rcx, r12
call qword [r11]
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
nop
mov rcx, qword [rsp + 0xd8]
call fcn.00402334
mov r11, qword [r12]
lea rdx, [0x0045e300]
mov rcx, r12
call qword [r11]
jmp 0x421e7b
cmp rdi, rbx
je 0x4221a2
mov rcx, qword [rsp + 0x118]
cmp rcx, rbx
je 0x421eb5
mov r13d, 1
mov rax, r15
imul rax, rax, 0xf4240
cmp rcx, rax
jae 0x421ea5
shr r15, 1
cmp r15, r13
ja 0x421e8e
mov qword [rsp + 0xc0], r15
mov r13, qword [rsp + 0x138]
mov r14d, ebx
cmp r12, rbx
je 0x421ed1
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
mov esi, eax
cmp eax, ebx
jne 0x422161
lea rcx, [rsp + 0x160]
call qword [0x0045b0d8]
cmp eax, ebx
je 0x421eed
mov rbp, qword [rsp + 0x160]
jmp 0x421ef5
call qword [0x0045b270]
mov ebp, eax
mov rbx, r15
imul rbx, rbx, 0xf4240
mov rdx, rbx
shr rdx, 7
mov r8d, dword [0x0047b66c]
mov ecx, ebp
call fcn.0041aab0
cmp eax, 0xf1541213
jne 0x421f30
test r12, r12
je 0x421f30
mov rax, qword [r12]
lea rdx, [0x0045c45a]
mov rcx, r12
call qword [rax]
lea rcx, [rsp + 0x218]
call qword [0x0045b0d8]
test eax, eax
je 0x421f4c
mov rsi, qword [rsp + 0x218]
jmp 0x421f54
call qword [0x0045b270]
mov esi, eax
sub rsi, rbp
mov r15, rsi
mov ecx, 1
cmove r15, rcx
movabs rax, 0x2000000000000000
cmp r15, rax
cmova r15, rcx
lea rcx, [rsp + 0x178]
call qword [0x0045b0d0]
mov ebp, 0x3e8
xor r8d, r8d
cmp eax, r8d
cmovne rbp, qword [rsp + 0x178]
mov rax, r15
cmp r15, r8
lea r10d, [r8 + 1]
cmove rax, r10
cvtsi2sd xmm0, rbx
cvtsi2sd xmm1, rbp
mulsd xmm0, xmm1
cvtsi2sd xmm2, rax
divsd xmm0, xmm2
call fcn.0041a4f0
mov rcx, rax
mov qword [rsp + 0x150], rax
mov rax, rbp
imul rax, qword [rsp + 0xc0]
xor edx, edx
div r15
mov rbx, rax
cmp r12, r8
je 0x42202b
cmp rsi, r8
jne 0x42200b
mov r8, qword [r12]
lea rdx, [0x0045e2fc]
mov rcx, r12
call qword [r8]
mov rcx, qword [rsp + 0x150]
xor r8d, r8d
lea r10d, [r8 + 1]
jmp 0x42202b
mov r8d, 5
mov rdx, rax
mov rcx, r12
call fcn.0041ad14
mov rcx, qword [rsp + 0x150]
xor r8d, r8d
lea r10d, [r8 + 1]
cmp rdi, r8
je 0x422052
mov rax, qword [rdi]
mov r9d, 0x10000
mov r8, rcx
mov edx, r10d
mov rcx, rdi
call qword [rax]
mov esi, eax
xor r8d, r8d
cmp eax, r8d
jne 0x42216f
mov r9d, 1
cmp r14d, r9d
jl 0x42214f
cmp qword [rsp + 0xc0], 0x800
setae cl
shl rbp, 4
cmp r15, rbp
jb 0x4220ae
mov rax, qword [r12]
lea rdx, [0x0045e2f0]
mov rcx, r12
call qword [rax]
mov esi, dword [rsp + 0x9c]
movzx esi, sil
xor r8d, r8d
cmp rdi, r8
lea r9d, [r8 + 1]
cmove esi, r9d
mov dword [rsp + 0x9c], esi
mov cl, r9b
jmp 0x4220b5
mov esi, dword [rsp + 0x9c]
cmp sil, r8b
je 0x422134
imul rbx, rbx, 0xf4240
movabs rax, 0x400000000
mov qword [rsp + 0x120], rax
mov eax, 0x3d0900
cmp rbx, rax
cmovb rbx, rax
movabs rax, 0x4a817c800
cmp rbx, rax
jae 0x422134
mov eax, dword [rsp + 0x110]
cmp eax, r8d
je 0x422125
mov r8, rax
imul r8, rbx
movabs rax, 0x624dd2f1a9fbe77
mul r8
sub r8, rdx
shr r8, 1
add r8, rdx
shr r8, 9
mov qword [rsp + 0x120], r8
jmp 0x422134
mov rax, rbx
shr rax, 2
mov qword [rsp + 0x120], rax
xor ebx, ebx
cmp cl, bl
jne 0x42217d
mov r15, qword [rsp + 0xc0]
add r15, r15
mov qword [rsp + 0xc0], r15
jmp 0x422159
mov r15, qword [rsp + 0xc0]
xor ebx, ebx
add r14d, r9d
jmp 0x421eb8
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
cmp rdi, rbx
je 0x4221a2
mov rax, qword [rdi]
mov edx, r9d
mov rcx, rdi
call qword [rax + 8]
mov esi, eax
cmp eax, ebx
je 0x4221a2
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
mov ebx, dword [rsp + 0x98]
cmp ebx, 2
jb 0x4223cd
xor r14d, r14d
cmp r12, r14
jne 0x4221c5
cmp rdi, r14
je 0x422469
jmp 0x4221d6
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov ebx, dword [rsp + 0x98]
mov r15d, dword [rsp + 0x148]
mov eax, r15d
shr eax, 1
cmp ebx, eax
cmovae ebx, eax
mov esi, 1
cmp ebx, esi
cmovb ebx, esi
cmp r12, r14
je 0x422229
mov ecx, ebx
lea rdx, [rsp + 0x2a0]
call fcn.00401b54
mov r11, qword [r12]
lea rdx, [rsp + 0x2a0]
mov rcx, r12
call qword [r11]
mov r11, qword [r12]
lea rdx, [0x0045e2d8]
mov rcx, r12
call qword [r11]
mov rcx, qword [rsp + 0x118]
cmp rcx, r14
je 0x422255
mov r14d, 0x400
mov rax, r14
imul rax, rax, 0xf4240
cmp rcx, rax
jae 0x42225b
shr r14, 1
cmp r14, rsi
ja 0x42223c
jmp 0x42225b
mov r14d, 0x400
xor ebp, ebp
cmp r12, rbp
je 0x42227b
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
mov esi, eax
cmp eax, ebp
jne 0x422372
mov esi, 1
mov rax, r14
imul rax, rax, 0xf4240
mov qword [rsp + 0x258], rax
mov dword [rsp + 0x260], ebx
mov byte [rsp + 0x264], sil
mov qword [rsp + 0x268], rsi
lea r8, [rsp + 0x1e0]
xor edx, edx
lea rcx, [rsp + 0x258]
call fcn.0041eaec
mov esi, eax
cmp eax, ebp
jne 0x422380
mov rbp, qword [rsp + 0x278]
test rdi, rdi
je 0x4222f1
mov rax, qword [rdi]
mov r9, rbp
mov r8, qword [rsp + 0x270]
mov edx, ebx
mov rcx, rdi
call qword [rax]
mov esi, eax
test eax, eax
jne 0x42238e
test r12, r12
je 0x422356
imul rbp, rbp, 0x64
lea rdx, [rbp + 0x8000]
shr rdx, 0x10
mov r8d, 3
mov rcx, r12
call fcn.0041ad14
mov r11, qword [r12]
lea rdx, [0x0045e2d4]
mov rcx, r12
call qword [r11]
movabs rax, 0x431bde82d7b634db
mul qword [rsp + 0x270]
shr rdx, 0x12
xor r8d, r8d
mov rcx, r12
call fcn.0041ad14
mov r11, qword [r12]
lea rdx, [0x0045e2d0]
mov rcx, r12
call qword [r11]
cmp r14, 0x800
setae al
xor ebp, ebp
cmp al, bpl
jne 0x42239c
add r14, r14
lea esi, [rbp + 1]
jmp 0x42225d
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
xor r14d, r14d
cmp rdi, r14
je 0x4223c4
mov rax, qword [rdi]
mov edx, ebx
mov rcx, rdi
call qword [rax + 8]
mov esi, eax
cmp eax, r14d
je 0x4223c4
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
mov ebx, dword [rsp + 0x98]
jmp 0x4223d8
mov r15d, dword [rsp + 0x148]
xor r14d, r14d
cmp r12, r14
je 0x422469
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
mov dword [rsp + 0x28], r15d
lea rax, [0x0045e2b8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x1d8]
mov r8b, byte [rsp + 0xa1]
lea rdx, [0x0045e2ac]
mov rcx, r12
call fcn.0041b0c0
lea rdx, [rsp + 0x288]
lea rcx, [rsp + 0xd8]
call fcn.0041af5c
nop
mov r8, qword [r12]
mov rdx, qword [rax]
mov rcx, r12
call qword [r8]
nop
mov rcx, qword [rsp + 0xd8]
call fcn.00402334
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
mov ebx, dword [rsp + 0x98]
lea eax, [rbx - 1]
cmp eax, 0xfff
ja 0x423f74
mov ecx, dword [rsp + 0xb8]
mov r15d, 1
mov rbp, r15
shl rbp, cl
mov qword [rsp + 0xc0], rbp
cmp byte [rsp + 0x91], r14b
jne 0x422500
mov rbp, r14
mov qword [rsp + 0xc0], r14
mov edx, r15d
lea rcx, [rsp + 0x180]
call fcn.0040f518
cmp eax, r14d
jl 0x4224f3
mov ecx, eax
mov rax, qword [rsp + 0x180]
mov rdx, qword [rax + rcx*8]
cmp word [rdx + 8], 0x13
jne 0x4224de
mov ebp, dword [rdx + 0x10]
mov qword [rsp + 0xc0], rbp
jmp 0x422500
cmp word [rdx + 8], 0x15
jne 0x4224f3
mov rbp, qword [rdx + 0x10]
mov qword [rsp + 0xc0], rbp
jmp 0x422500
mov dil, r14b
mov byte [rsp + 0x93], r14b
jmp 0x42250b
mov dil, r15b
mov byte [rsp + 0x93], r15b
lea rcx, [rsp + 0x180]
call fcn.0040f548
mov esi, eax
mov dword [rsp + 0xf0], eax
cmp dword [rsp + 0x198], r14d
jne 0x42253f
lea rdx, [0x0045e2a4]
lea rcx, [rsp + 0x190]
call fcn.00402e1c
mov rbx, qword [rsp + 0x420]
cmp rbx, r14
je 0x422635
mov dword [rsp + 0xe8], r14d
mov dword [rsp + 0xdc], 0x4b0
mov dword [rsp + 0xe4], 4
mov dword [rsp + 0xe0], 0xbe
mov byte [rsp + 0xd8], r15b
lea rcx, [rsp + 0x180]
call fcn.0040f58c
cmp byte [rsp + 0x90], r14b
je 0x4225a2
mov rcx, qword [rsp + 0x140]
jmp 0x4225c1
lea rcx, [rax + 0x10000]
cmp rcx, rax
jae 0x4225c1
mov rcx, r13
call fcn.00459420
nop
mov esi, 0x80070057
jmp 0x423f3b
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], r12
mov eax, 0x20
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0x180]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x98]
mov r8b, r15b
mov rdx, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x410]
call fcn.0041f894
mov esi, eax
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x128]
call fcn.00402de8
nop
lea rdx, [0x0045e2a0]
mov rcx, qword [rsp + 0x128]
call fcn.00402a40
cmp al, r14b
je 0x422678
lea rdx, [0x0045e298]
lea rcx, [rsp + 0x128]
call fcn.00402e1c
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x190]
call fcn.00402e80
lea r8, [rsp + 0x3b0]
lea rdx, [rsp + 0x128]
mov rcx, qword [rsp + 0x410]
call fcn.0040d198
cmp al, r14b
je 0x422f99
cmp r12, r14
jne 0x4226d7
mov rcx, qword [rsp + 0x128]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
mov esi, r15d
jmp 0x423f3b
mov eax, 0x8000000
cmp dil, r14b
cmove rbp, rax
mov qword [rsp + 0xc0], rbp
cmp byte [rsp + 0x90], r14b
je 0x422728
cmp dil, r14b
jne 0x42270f
mov r15, qword [rsp + 0x140]
mov rbp, r15
mov qword [rsp + 0xc0], r15
jmp 0x422730
mov r15, qword [rsp + 0x140]
cmp rbp, r15
cmova rbp, r15
mov qword [rsp + 0xc0], rbp
jmp 0x422730
mov r15, qword [rsp + 0x140]
mov dword [rsp + 0xf4], 0x2710
mov qword [rsp + 0x168], r14
xor esi, esi
lea rdi, [0x0045dbc4]
mov rdx, qword [rdi + 0xc]
lea rcx, [rsp + 0xc8]
call fcn.00402da4
nop
lea rcx, [rsp + 0xd8]
call fcn.00402d6c
nop
mov dl, 0x3a
mov rcx, qword [rsp + 0xc8]
call fcn.00402854
mov ebx, eax
test eax, eax
js 0x4227b5
lea edx, [rbx + 1]
add rdx, qword [rsp + 0xc8]
lea rcx, [rsp + 0xd8]
call fcn.00402e1c
cmp ebx, dword [rsp + 0xd0]
jae 0x4227b5
mov dword [rsp + 0xd0], ebx
mov rax, qword [rsp + 0xc8]
mov byte [rbx + rax], 0
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0xc8]
call fcn.00402a40
xor ecx, ecx
cmp al, cl
je 0x422859
cmp dword [rsp + 0x1a8], ecx
sete bl
cmp bl, cl
je 0x422821
cmp r14, rcx
je 0x42281f
lea rdx, [0x0045e298]
mov rcx, qword [rsp + 0xc8]
call fcn.00402a40
xor ecx, ecx
cmp al, cl
je 0x42281b
lea rdx, [0x0045e294]
mov rcx, qword [rsp + 0xd8]
call fcn.00402a40
xor ecx, ecx
cmp al, cl
jne 0x42281f
mov bl, cl
jmp 0x422821
mov bl, 1
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x1a0]
call fcn.00402a84
xor edx, edx
cmp al, dl
jne 0x422840
cmp bl, dl
je 0x422859
mov ecx, dword [rdi]
mov dword [rsp + 0xf4], ecx
lea r14, [rdi + 4]
mov qword [rsp + 0x168], r14
cmp al, dl
jne 0x422885
mov rcx, qword [rsp + 0xd8]
call fcn.00402334
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402334
inc esi
add rdi, 0x18
cmp esi, 0xb
jb 0x42274c
jmp 0x4228a0
mov rcx, qword [rsp + 0xd8]
call fcn.00402334
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402334
xor eax, eax
cmp r14, rax
jne 0x4228c8
mov rcx, qword [rsp + 0x128]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
mov esi, 0x80004001
jmp 0x423f3b
cmp byte [rsp + 0x90], al
je 0x4228fe
lea r9, [r15 + 0x100000]
mov rdx, rbp
cmp rbp, r15
cmova rdx, r15
mov ecx, dword [rsp + 0x98]
mov esi, 1
cmp ecx, esi
je 0x422918
mov rax, rcx
imul rax, rdx
add r9, rax
jmp 0x422918
mov ecx, dword [rsp + 0x98]
mov r9, rcx
imul r9, rbp
add r9, 0x100000
mov esi, 1
mov dword [rsp + 0x28], ecx
lea rax, [0x0045df18]
mov qword [rsp + 0x20], rax
mov r8b, sil
lea rdx, [0x0045df10]
mov rcx, r12
call fcn.0041b0c0
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
xor r15d, r15d
mov rbp, r15
mov qword [rsp + 0xc8], r15
mov r14d, r15d
mov dword [rsp + 0xd0], r15d
mov dword [rsp + 0xd4], r15d
mov ebx, dword [rsp + 0x174]
cmp ebx, dword [rsp + 0x98]
ja 0x4229e3
mov edx, ebx
lea rcx, [rsp + 0xc8]
call fcn.0041c9d0
lea edi, [rbx + rbx]
mov eax, dword [rsp + 0x98]
mov edx, eax
shr edx, 1
cmp edx, ebx
jbe 0x4229af
cmp edx, edi
jae 0x4229af
lea rcx, [rsp + 0xc8]
call fcn.0041c9d0
mov eax, dword [rsp + 0x98]
cmp eax, ebx
jbe 0x4229cd
cmp eax, edi
jae 0x4229cd
mov edx, eax
lea rcx, [rsp + 0xc8]
call fcn.0041c9d0
mov eax, dword [rsp + 0x98]
mov ebx, edi
cmp edi, eax
jbe 0x422976
mov r14d, dword [rsp + 0xd0]
mov rbp, qword [rsp + 0xc8]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov r11, qword [r12]
lea rdx, [0x0045e28c]
mov rcx, r12
call qword [r11]
cmp r14d, r15d
jbe 0x422a22
mov rbx, rbp
mov edi, r14d
mov edx, dword [rbx]
mov r8d, 0xd
mov rcx, r12
call fcn.0041ad14
add rbx, 4
sub rdi, rsi
jne 0x422a09
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov r11, qword [r12]
lea rdx, [0x0045e284]
mov rcx, r12
call qword [r11]
cmp r14d, r15d
jbe 0x422a74
mov ebx, r14d
mov r8d, 6
lea rdx, [0x0045e27c]
mov rcx, r12
call fcn.0041b1fc
mov r8d, 8
lea rdx, [0x0045e278]
mov rcx, r12
call fcn.0041b1fc
sub rbx, rsi
jne 0x422a45
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov r11, qword [r12]
lea rdx, [0x0045e270]
mov rcx, r12
call qword [r11]
cmp r14d, r15d
jbe 0x422ac6
mov ebx, r14d
mov r8d, 6
lea rdx, [0x0045e2d4]
mov rcx, r12
call fcn.0041b1fc
mov r8d, 8
lea rdx, [0x0045e268]
mov rcx, r12
call fcn.0041b1fc
sub rbx, rsi
jne 0x422a97
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
mov esi, r14d
mov qword [rsp + 0x228], rsi
mov ebx, r14d
shl rbx, 3
mov rcx, rbx
call fcn.00402308
mov rdi, rax
mov qword [rsp + 0x248], rax
mov rcx, rbx
call fcn.00402308
mov rbx, rax
mov qword [rsp + 0x1c0], rax
cmp r14d, r15d
jbe 0x422b39
mov rcx, rdi
sub rcx, rax
mov rdx, rsi
mov r8d, 1
mov qword [rcx + rax], r15
mov qword [rax], r15
add rax, 8
sub rdx, r8
jne 0x422b27
jmp 0x422b3f
mov r8d, 1
mov qword [rsp + 0x150], r15
xor esi, esi
mov dword [rsp + 0x9c], esi
cmp dword [rsp + 0x430], esi
jbe 0x422f5d
mov r15d, 0xa
cmp byte [rsp + 0x92], sil
cmovne r15d, dword [rsp + 0xb8]
mov ecx, r15d
mov rsi, r8
shl rsi, cl
lea rdx, [rsp + 0xd8]
call fcn.00401adc
xor ecx, ecx
mov rax, rcx
cmp byte [rsp + 0xd8], cl
je 0x422baa
lea r10d, [rcx + 1]
add rax, r10
cmp byte [rsp + rax + 0xd8], cl
jne 0x422b9c
jmp 0x422bb0
mov r10d, 1
mov byte [rsp + rax + 0xd8], 0x3a
inc rax
mov byte [rsp + rax + 0xd8], 0x20
add rax, r10
mov byte [rsp + rax + 0xd8], cl
mov r8d, 4
lea rdx, [rsp + 0xd8]
mov rcx, r12
call fcn.0041b1fc
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x118], rax
cmp rax, rsi
ja 0x422c02
cmp byte [rsp + 0x90], 0
jne 0x422c0a
mov qword [rsp + 0x118], rsi
xor esi, esi
mov dword [rsp + 0xf0], esi
cmp r14d, esi
jbe 0x422db2
mov qword [rsp + 0x160], rbx
mov qword [rsp + 0x218], rbp
mov rax, rdi
sub rax, rbx
mov qword [rsp + 0x370], rax
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
mov esi, eax
xor ecx, ecx
cmp eax, ecx
jne 0x422e1f
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x148], rcx
cmp r15d, 0x11
jne 0x422c79
cmp byte [rsp + 0x90], cl
jne 0x422c79
mov rax, qword [rsp + 0x168]
jmp 0x422c7c
mov rax, rcx
mov qword [rsp + 0x80], rcx
mov byte [rsp + 0x78], cl
mov qword [rsp + 0x70], rcx
mov byte [rsp + 0x68], cl
lea rcx, [rsp + 0x1e0]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], r12
lea rcx, [rsp + 0x180]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rax
mov eax, 1
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0xf4]
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x148]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x178]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
mov r9, qword [rsp + 0x118]
mov r8d, dword [rbp]
mov rdx, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x410]
call fcn.0041dc1c
mov esi, eax
test eax, eax
jne 0x422e5b
mov rbp, qword [rsp + 0x148]
mov rdx, rbp
imul rdx, rdx, 0x64
add rdx, 0x8000
shr rdx, 0x10
lea r8d, [rax + 5]
mov rcx, r12
call fcn.0041ad14
movabs rax, 0x431bde82d7b634db
mov rsi, qword [rsp + 0x178]
mul rsi
shr rdx, 0x12
mov r8d, 7
mov rcx, r12
call fcn.0041ad14
mov rax, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x370]
add qword [rax + rcx], rsi
add qword [rax], rbp
mov ecx, dword [rsp + 0xf0]
inc ecx
mov dword [rsp + 0xf0], ecx
mov rbp, qword [rsp + 0x218]
add rbp, 4
mov qword [rsp + 0x218], rbp
add rax, 8
mov qword [rsp + 0x160], rax
cmp ecx, r14d
jb 0x422c3a
xor esi, esi
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov rax, qword [rsp + 0x150]
mov r8d, 1
add rax, r8
mov qword [rsp + 0x150], rax
mov rcx, qword [rsp + 0xc0]
cmp qword [rsp + 0x118], rcx
jae 0x422df7
add r15d, r8d
mov rbp, qword [rsp + 0xc8]
jmp 0x422b74
mov ecx, dword [rsp + 0x9c]
add ecx, r8d
mov dword [rsp + 0x9c], ecx
cmp ecx, dword [rsp + 0x430]
mov rbp, qword [rsp + 0xc8]
jb 0x422b5d
jmp 0x422e97
mov rcx, rbx
call fcn.00402334
nop
mov rcx, rdi
call fcn.00402334
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402334
nop
mov rcx, qword [rsp + 0x128]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
mov rcx, rbx
call fcn.00402334
nop
mov rcx, rdi
call fcn.00402334
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402334
nop
mov rcx, qword [rsp + 0x128]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
cmp rax, rsi
je 0x422f5d
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov r11, qword [r12]
lea rdx, [0x0045e260]
mov rcx, r12
call qword [r11]
cmp r14d, esi
jbe 0x422f52
mov rbp, rdi
mov rsi, rbx
sub rsi, rdi
mov r15, qword [rsp + 0x150]
mov r14, qword [rsp + 0x228]
movabs rdi, 0x431bde82d7b634db
mov r13d, 1
xor edx, edx
mov rax, qword [rsi + rbp]
div r15
imul rax, rax, 0x64
lea rdx, [rax + 0x8000]
shr rdx, 0x10
mov r8d, 5
mov rcx, r12
call fcn.0041ad14
xor edx, edx
mov rax, qword [rbp]
div r15
mov rcx, rax
mov rax, rdi
mul rcx
shr rdx, 0x12
mov r8d, 7
mov rcx, r12
call fcn.0041ad14
add rbp, 8
sub r14, r13
jne 0x422eed
mov rdi, qword [rsp + 0x248]
mov r13, qword [rsp + 0x138]
xor esi, esi
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
nop
mov rcx, rbx
call fcn.00402334
nop
mov rcx, rdi
call fcn.00402334
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402334
nop
mov rcx, qword [rsp + 0x128]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rdx, [0x0045b850]
mov rcx, qword [rsp + 0x190]
call fcn.00402a40
mov r15b, al
mov byte [rsp + 0x92], al
mov bl, r14b
mov byte [rsp + 0x91], r14b
lea rdx, [0x0045e258]
mov rcx, qword [rsp + 0x190]
call fcn.00402a40
xor edx, edx
cmp al, dl
je 0x422ff8
lea r8d, [rdx + 1]
mov bl, r8b
mov byte [rsp + 0x91], r8b
mov r15b, r8b
mov byte [rsp + 0x92], r8b
jmp 0x422ffe
mov r8d, 1
mov eax, edx
mov dword [rsp + 0x168], edx
mov r9d, 0x12
mov r14d, dword [rsp + 0x98]
mov dword [rsp + 0x9c], r14d
cmp byte [rsp + 0xa0], dl
jne 0x423030
cmp eax, edx
jne 0x423f4c
jmp 0x423079
mov r14d, r8d
mov dword [rsp + 0x9c], r8d
cmp eax, edx
je 0x423079
mov ecx, dword [rsp + 0x148]
cmp ecx, 2
jb 0x423f4c
mov r14d, ecx
mov dword [rsp + 0x9c], ecx
cmp eax, r8d
jne 0x423070
cmp ecx, 4
jb 0x423079
shr r14d, 1
mov dword [rsp + 0x9c], r14d
jmp 0x423079
cmp ecx, 4
jb 0x423f4c
lea rcx, [0x0045dfd0]
mov qword [rsp + 0x2a0], rcx
mov byte [rsp + 0x2a8], dl
mov dword [rsp + 0x2b8], edx
mov byte [rsp + 0x320], dl
mov dword [rsp + 0x324], edx
mov byte [rsp + 0x328], dl
mov qword [rsp + 0x330], rdx
mov dword [rsp + 0x338], r8d
mov dword [rsp + 0x33c], r8d
mov qword [rsp + 0x2c0], rdx
mov qword [rsp + 0x2c8], rdx
mov qword [rsp + 0x2d0], rdx
mov qword [rsp + 0x2d8], rdx
mov qword [rsp + 0x2e0], rdx
mov qword [rsp + 0x2e8], rdx
mov qword [rsp + 0x2f0], rdx
mov qword [rsp + 0x2f8], rdx
mov qword [rsp + 0x300], rdx
mov qword [rsp + 0x308], rdx
mov qword [rsp + 0x310], r12
cmp eax, edx
jbe 0x42313a
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
xor edx, edx
lea r9d, [rdx + 0x12]
cmp dil, dl
jne 0x423201
cmp bl, dl
jne 0x423205
mov al, r15b
neg al
sbb edi, edi
add edi, 0x19
mov ebx, edi
cmp byte [rsp + 0xa1], dl
je 0x4231a8
cmp edi, r9d
jbe 0x4231a8
mov r13d, 1
mov r12d, 0xffffffff
mov ecx, ebx
mov r8, r13
shl r8, cl
mov r9b, r15b
mov edx, esi
mov ecx, r14d
call fcn.0041a7e4
add rax, 0x800000
cmp rax, qword [rsp + 0x1d8]
jbe 0x42319e
add ebx, r12d
cmp ebx, 0x12
ja 0x423171
mov r12, qword [rsp + 0x418]
xor edx, edx
mov esi, ebx
mov ecx, ebx
mov ebp, 1
shl rbp, cl
mov qword [rsp + 0xc0], rbp
cmp r15b, dl
je 0x423225
cmp ebx, edi
je 0x42321c
mov rax, qword [r12]
lea rdx, [0x0045e240]
mov rcx, r12
call qword [rax]
mov r8d, 1
mov rdx, rsi
mov rcx, r12
call fcn.0041ad14
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
mov bl, byte [rsp + 0x91]
mov esi, dword [rsp + 0xf0]
xor edx, edx
cmp bl, dl
je 0x42322c
lea r9, [rbp + 0x8000]
mov eax, r14d
imul r9, rax
add r9, 0x200000
jmp 0x42323f
mov esi, dword [rsp + 0xf0]
jmp 0x42322c
mov esi, dword [rsp + 0xf0]
mov r9b, r15b
mov r8, rbp
mov edx, esi
mov ecx, r14d
call fcn.0041a7e4
mov r9, rax
mov dword [rsp + 0x28], r14d
lea rax, [0x0045df18]
mov qword [rsp + 0x20], rax
mov ebx, 1
mov r8b, bl
lea rdx, [0x0045df10]
mov rcx, r12
call fcn.0041b0c0
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
xor ecx, ecx
cmp r15b, cl
je 0x42329c
lea r8d, [rbx + 0xb]
mov dword [rsp + 0x324], r8d
mov dil, cl
mov byte [rsp + 0x94], cl
jmp 0x4232b4
mov r8d, 4
mov dword [rsp + 0x324], r8d
mov dil, bl
mov byte [rsp + 0x94], bl
mov byte [rsp + 0x320], dil
movzx esi, cl
cmp r15b, cl
cmovne esi, ebx
mov dword [rsp + 0xf4], esi
mov ebx, 0x1e
lea eax, [rbx + 0xc]
cmp sil, cl
cmovne ebx, eax
mov dword [rsp + 0x150], ebx
cmp dil, cl
je 0x423325
mov dl, 0x20
mov rcx, r12
call fcn.0041ad88
mov r8d, ebx
lea rdx, [0x0045e230]
mov rcx, r12
call fcn.0041b1fc
mov r11, qword [r12]
lea rdx, [0x0045dcd0]
mov rcx, r12
call qword [r11]
mov r8d, ebx
lea rdx, [0x0045e220]
mov rcx, r12
call fcn.0041b1fc
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
lea rax, [0x0045e218]
lea rdx, [0x0045e210]
xor r13d, r13d
cmp r15b, r13b
cmovne rdx, rax
mov r8d, dword [rsp + 0x324]
mov rcx, r12
call fcn.0041b1b8
mov ebx, r13d
lea ebp, [r13 + 1]
lea r15d, [r13 + 6]
mov r8d, 0xa
lea rdx, [0x0045e208]
mov rcx, r12
call fcn.0041b1fc
mov r8d, r15d
lea rdx, [0x0045e27c]
mov rcx, r12
call fcn.0041b1fc
mov r8d, 7
lea rdx, [0x0045e204]
mov rcx, r12
call fcn.0041b1fc
mov r8d, 7
lea rdx, [0x0045e1fc]
mov rcx, r12
call fcn.0041b1fc
cmp sil, r13b
je 0x4233dc
mov r8d, r15d
lea rdx, [0x0045e1f8]
mov rcx, r12
call fcn.0041b1fc
mov r8d, r15d
lea rdx, [0x0045e1f0]
mov rcx, r12
call fcn.0041b1fc
cmp dil, r13b
je 0x423401
cmp ebx, r13d
jne 0x4233f6
mov rax, qword [r12]
lea rdx, [0x0045dcd0]
mov rcx, r12
call qword [rax]
add ebx, ebp
cmp ebx, 2
jl 0x423362
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov r8d, dword [rsp + 0x324]
mov dl, 0x20
mov rcx, r12
call fcn.0041ad88
xor r14d, r14d
mov ebx, r14d
mov rbp, qword [rsp + 0xc0]
lea r13d, [r14 + 1]
mov r8d, 0xa
lea rdx, [0x0045e1e8]
mov rcx, r12
call fcn.0041b1fc
mov r8d, r15d
lea rdx, [0x0045e2d4]
mov rcx, r12
call fcn.0041b1fc
mov r8d, 7
lea rdx, [0x0045bed4]
mov rcx, r12
call fcn.0041b1fc
mov r8d, 7
lea rdx, [0x0045bed4]
mov rcx, r12
call fcn.0041b1fc
cmp sil, r14b
je 0x4234a9
mov r8d, r15d
lea rdx, [0x0045e2d4]
mov rcx, r12
call fcn.0041b1fc
mov r8d, r15d
lea rdx, [0x0045e2d4]
mov rcx, r12
call fcn.0041b1fc
cmp dil, r14b
je 0x4234cf
cmp ebx, r14d
jne 0x4234c3
mov rax, qword [r12]
lea rdx, [0x0045dcd0]
mov rcx, r12
call qword [rax]
add ebx, r13d
cmp ebx, 2
jl 0x42342f
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
xor edi, edi
mov r15, rdi
mov rbx, qword [rsp + 0x118]
cmp rbx, rdi
cmovne r15, rbx
cmp byte [rsp + 0x92], dil
mov r13, qword [rsp + 0x138]
mov r14d, dword [rsp + 0x9c]
je 0x4237fc
xor eax, eax
cmp dword [rsp + 0x430], eax
jbe 0x423c85
xor r15d, r15d
cmp edi, r15d
je 0x423537
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
mov ebx, r15d
mov rsi, qword [rsp + 0x118]
jmp 0x423547
xor r15d, r15d
mov r8d, 0xc
lea rdx, [0x0045e1e4]
mov rcx, r12
call fcn.0041b1b8
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x380], rax
mov dword [rsp + 0x388], r14d
cmp ebx, 2
je 0x423588
cmp rsi, r15
jne 0x423588
mov byte [rsp + 0x38c], r15b
jmp 0x423594
mov eax, 1
mov byte [rsp + 0x38c], al
mov qword [rsp + 0x390], rsi
lea r8, [rsp + 0x1e0]
mov rdx, r12
lea rcx, [rsp + 0x380]
call fcn.0041eaec
mov esi, eax
cmp eax, r15d
jne 0x423e56
mov r15, qword [rsp + 0x398]
mov rcx, qword [rsp + 0x310]
mov rax, qword [rcx]
call qword [rax + 8]
mov rsi, qword [rsp + 0x118]
xor eax, eax
cmp rsi, rax
cmovne r15, rsi
inc ebx
cmp ebx, 3
jb 0x423544
mov rcx, qword [rsp + 0x310]
mov rax, qword [rcx]
call qword [rax + 8]
mov r11d, 1
mov byte [rsp + 0x328], r11b
mov qword [rsp + 0x330], r15
xor r10d, r10d
cmp byte [rsp + 0x91], r10b
jne 0x4236c2
mov rax, rbp
mov r8b, byte [rsp + 0x90]
cmp r8b, r10b
je 0x423656
mov rdx, qword [rsp + 0x140]
mov rax, rdx
mov cl, byte [rsp + 0x93]
cmp cl, r10b
je 0x423662
cmp rdx, rbp
cmova rax, rbp
jmp 0x42365d
mov cl, byte [rsp + 0x93]
cmp cl, r10b
jne 0x42366c
cmp r8b, r10b
jne 0x42366c
mov cl, r10b
jmp 0x42366f
mov cl, r11b
lea rdx, [rsp + 0x2a0]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], cl
lea r9, [rsp + 0x1e0]
mov r8d, r14d
mov rbx, qword [rsp + 0x120]
mov rdx, rbx
mov rcx, qword [rsp + 0x410]
call fcn.00420c5c
mov esi, eax
xor r10d, r10d
cmp eax, r10d
jne 0x423e72
jmp 0x4236cc
mov rbx, qword [rsp + 0x120]
jmp 0x4236d2
mov r11d, 1
mov r9d, 0x20000
mov al, byte [rsp + 0x93]
cmp al, r10b
cmovne r9, rbp
cmp byte [rsp + 0x90], r10b
je 0x423707
mov rcx, qword [rsp + 0x140]
mov r9, rcx
cmp al, r10b
je 0x423707
cmp rcx, rbp
cmova r9, rbp
mov qword [rsp + 0x50], r15
mov byte [rsp + 0x48], r11b
lea rax, [rsp + 0x2c0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
mov r8d, r14d
mov rdx, rbx
mov rcx, qword [rsp + 0x410]
call fcn.0041f1d0
mov esi, eax
xor eax, eax
cmp esi, eax
jne 0x423e8e
mov rcx, qword [rsp + 0x310]
mov rax, qword [rcx]
call qword [rax + 8]
mov r8d, 0xc
lea rdx, [0x0045e1e4]
mov rcx, r12
call fcn.0041b1b8
mov qword [rsp + 0x380], rbx
mov dword [rsp + 0x388], r14d
mov rax, qword [rsp + 0x118]
xor ebx, ebx
cmp rax, rbx
setne byte [rsp + 0x38c]
mov qword [rsp + 0x390], rax
lea r8, [rsp + 0x1e0]
mov rdx, r12
lea rcx, [rsp + 0x380]
call fcn.0041eaec
mov esi, eax
cmp eax, ebx
jne 0x423eaa
mov rcx, qword [rsp + 0x310]
mov rax, qword [rcx]
call qword [rax + 8]
inc edi
cmp edi, dword [rsp + 0x430]
jb 0x423525
mov esi, dword [rsp + 0xf4]
jmp 0x423c85
mov esi, 1
mov r14b, sil
lea rdx, [0x0045e2a4]
mov rcx, qword [rsp + 0x128]
call fcn.00402a40
cmp al, dil
jne 0x42397c
mov esi, edi
lea rdi, [0x0045d960]
mov rdx, qword [rdi + 0x18]
lea rcx, [rsp + 0xc8]
call fcn.00402da4
nop
lea rcx, [rsp + 0xd8]
call fcn.00402d6c
nop
mov dl, 0x3a
mov rcx, qword [rsp + 0xc8]
call fcn.00402854
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x42389b
lea edx, [rbx + 1]
add rdx, qword [rsp + 0xc8]
lea rcx, [rsp + 0xd8]
call fcn.00402e1c
cmp ebx, dword [rsp + 0xd0]
jae 0x42389f
mov dword [rsp + 0xd0], ebx
mov rcx, rbx
mov rax, qword [rsp + 0xc8]
xor ebx, ebx
mov byte [rcx + rax], bl
jmp 0x4238a1
xor ebx, ebx
jmp 0x4238a1
xor ebx, ebx
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0xc8]
call fcn.00402a40
cmp al, bl
je 0x4238fd
cmp dword [rsp + 0xe0], ebx
je 0x42392b
lea rdx, [0x0045e1e0]
mov rcx, qword [rsp + 0xd8]
call fcn.00459daa
cmp eax, ebx
jne 0x4238e4
cmp dword [rsp + 0x1a8], ebx
je 0x42392b
mov rdx, qword [rsp + 0xd8]
lea rcx, [rsp + 0x1a0]
call fcn.004029c4
cmp al, bl
jne 0x42392b
mov rcx, qword [rsp + 0xd8]
call fcn.00402334
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402334
inc esi
add rdi, 0x20
cmp esi, 0x13
jb 0x42382a
xor edi, edi
jmp 0x423969
mov eax, dword [rdi + 8]
mov dword [rsp + 0x2ac], eax
mov eax, dword [rdi + 0xc]
mov dword [rsp + 0x2b0], eax
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x2b4], eax
xor edi, edi
mov r14b, dil
mov rcx, qword [rsp + 0xd8]
call fcn.00402334
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402334
cmp esi, 0x13
je 0x423ec3
cmp r14b, dil
je 0x4239a7
mov esi, 1
mov dword [rsp + 0x2ac], 0x4b0
mov dword [rsp + 0x2b4], 4
mov dword [rsp + 0x2b0], 0xbe
mov byte [rsp + 0x2a8], sil
jmp 0x4239ac
mov esi, 1
mov edx, dword [rsp + 0xb8]
mov r8d, 0x12
cmp edx, r8d
cmovb edx, r8d
mov dword [rsp + 0xb8], edx
mov r14d, edi
cmp dword [rsp + 0x430], edi
jbe 0x423c7e
mov ecx, edx
mov rax, rsi
shl rax, cl
mov ebx, edx
cmp rbp, rax
cmovb ebx, r8d
cmp byte [rsp + 0x438], dil
mov eax, 0x20
cmove ebx, eax
mov ecx, ebx
mov rax, rsi
shl rax, cl
cmp rax, rbp
jbe 0x423a27
mov r13d, 0xffffffff
cmp ebx, edi
jbe 0x423a1f
add ebx, r13d
mov ecx, ebx
mov rax, rsi
shl rax, cl
cmp rax, rbp
ja 0x423a0b
mov r13, qword [rsp + 0x138]
mov ecx, ebx
mov rdi, rsi
shl rdi, cl
cmp rdi, rbp
ja 0x423c62
lea rdx, [rsp + 0x1c0]
mov ecx, ebx
call fcn.00401adc
xor eax, eax
mov r11, rax
cmp byte [rsp + 0x1c0], al
je 0x423a62
add r11, rsi
cmp byte [rsp + r11 + 0x1c0], al
jne 0x423a55
mov byte [rsp + r11 + 0x1c0], 0x3a
mov byte [rsp + r11 + 0x1c1], al
mov r8d, 4
lea rdx, [rsp + 0x1c0]
mov rcx, r12
call fcn.0041b1b8
mov qword [rsp + 0x318], rdi
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0x258]
call fcn.0041d974
nop
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x268]
call fcn.00402de8
nop
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x278]
call fcn.004035b8
nop
lea rdx, [0x0045e2a4]
mov rcx, qword [rsp + 0x268]
call fcn.00402a40
xor edi, edi
cmp al, dil
je 0x423b5b
mov word [rsp + 0x228], 0x13
mov word [rsp + 0x22a], di
mov dword [rsp + 0x230], ebx
lea rdx, [0x0045c458]
lea rcx, [rsp + 0x248]
call fcn.00403510
nop
lea r8, [rsp + 0x228]
mov rdx, rax
lea rcx, [rsp + 0x258]
call fcn.00410080
mov esi, eax
mov rcx, qword [rsp + 0x248]
call fcn.00402334
cmp esi, edi
jne 0x423ee1
lea rcx, [rsp + 0x228]
call fcn.0040b6d4
lea esi, [rdi + 1]
cmp byte [rsp + 0x90], dil
je 0x423b6f
mov rax, qword [rsp + 0x140]
jmp 0x423b85
mov rax, qword [rsp + 0x318]
cmp rax, 0x40000
jb 0x423b85
add rax, 0x10000
lea rcx, [rsp + 0x2a8]
mov qword [rsp + 0x58], rcx
lea rcx, [rsp + 0x2a0]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], r12
mov ecx, 0x20
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x258]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x9c]
mov r8b, sil
mov rdx, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x410]
call fcn.0041f894
mov esi, eax
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
cmp esi, edi
jne 0x423f16
cmp byte [rsp + 0x438], dil
je 0x423c43
lea rcx, [rsp + 0x258]
call fcn.0041eee8
mov esi, 1
add ebx, esi
mov ecx, ebx
mov rdi, rsi
shl rdi, cl
cmp rdi, rbp
jbe 0x423a38
mov edx, dword [rsp + 0xb8]
xor edi, edi
lea r8d, [rsi + 0x11]
jmp 0x423c64
lea rcx, [rsp + 0x258]
call fcn.0041eee8
mov edx, dword [rsp + 0xb8]
mov esi, 1
lea r8d, [rsi + 0x11]
jmp 0x423c64
xor edi, edi
add r14d, esi
cmp r14d, dword [rsp + 0x430]
jb 0x4239d7
mov esi, dword [rsp + 0xf4]
jmp 0x423c85
mov esi, dword [rsp + 0xf4]
mov eax, dword [rsp + 0x324]
mov edi, dword [rsp + 0x150]
lea r8d, [rdi + rax]
mov dl, 0x2d
mov rcx, r12
call fcn.0041ad88
mov bl, byte [rsp + 0x94]
xor r14d, r14d
cmp bl, r14b
je 0x423ccd
mov rax, qword [r12]
lea rdx, [0x0045dcd0]
mov rcx, r12
call qword [rax]
mov r8d, edi
mov dl, 0x2d
mov rcx, r12
call fcn.0041ad88
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
cmp bl, r14b
je 0x423d56
mov r8d, dword [rsp + 0x324]
lea rdx, [0x0045e1d8]
mov rcx, r12
call fcn.0041b1b8
cmp byte [rsp + 0x92], r14b
sete bl
lea rax, [rsp + 0x2c0]
mov qword [rsp + 0x20], rax
mov r9b, bl
mov r8, r15
mov dl, sil
mov rcx, r12
call fcn.0041aebc
mov r11, qword [r12]
lea rdx, [0x0045dcd0]
mov rcx, r12
call qword [r11]
lea r11, [rsp + 0x2e8]
mov qword [rsp + 0x20], r11
mov r9b, bl
mov r8, r15
mov dl, sil
mov rcx, r12
call fcn.0041aebc
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
mov r8d, dword [rsp + 0x324]
lea rdx, [0x0045e1d0]
mov rcx, r12
call fcn.0041b1b8
lea rcx, [rsp + 0x340]
lea rdx, [rsp + 0x2c0]
mov r8d, 0x28
call fcn.00459aae
mov r11, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x2c8]
add rcx, r11
mov qword [rsp + 0x348], rcx
mov rax, qword [rsp + 0x2f8]
add qword [rsp + 0x350], rax
mov rax, qword [rsp + 0x300]
add qword [rsp + 0x358], rax
mov rax, qword [rsp + 0x308]
add qword [rsp + 0x360], rax
mov rax, qword [rsp + 0x2e8]
add qword [rsp + 0x340], rax
lea rax, [rsp + 0x340]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r15
mov dl, sil
mov rcx, r12
call fcn.0041aebc
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + 8]
mov eax, dword [rsp + 0x168]
mov r8d, 1
add eax, r8d
mov dword [rsp + 0x168], eax
cmp eax, 3
mov dil, byte [rsp + 0x93]
mov r15b, byte [rsp + 0x92]
mov bl, byte [rsp + 0x91]
mov esi, dword [rsp + 0xf0]
mov rdx, r14
lea r9d, [r8 + 0x11]
jb 0x42300d
jmp 0x423f4c
mov rcx, qword [rsp + 0x128]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
mov rcx, qword [rsp + 0x128]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
mov rcx, qword [rsp + 0x128]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
mov rcx, qword [rsp + 0x128]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
mov rcx, qword [rsp + 0x128]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
mov esi, 0x80004001
jmp 0x423f3b
lea rcx, [rsp + 0x228]
call fcn.0040b6d4
nop
lea rcx, [rsp + 0x258]
call fcn.0041eee8
nop
mov rcx, qword [rsp + 0x128]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
jmp 0x423f3b
lea rcx, [rsp + 0x258]
call fcn.0041eee8
nop
mov rcx, qword [rsp + 0x128]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
lea rcx, [rsp + 0x180]
call fcn.0041eee8
mov eax, esi
jmp 0x423f8f
mov rcx, qword [rsp + 0x128]
call fcn.00402334
nop
mov rcx, r13
call fcn.00459420
nop
lea rcx, [rsp + 0x180]
call fcn.0041eee8
xor eax, eax
jmp 0x423f8f
mov rcx, r13
call fcn.00459420
nop
lea rcx, [rsp + 0x180]
call fcn.0041eee8
mov eax, 0x80070057
add rsp, 0x3c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret