Function at 0x1800227d8
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x38
mov al, byte [0x180052810]
mov r8, rdx
mov byte [rsp + 0x50], al
mov r9d, ecx
movzx eax, word [0x180052824]
movabs rcx, 0xd3a9623ed234a
mov qword [rsp + 0x20], 0x76ac1a89
mov word [rsp + 0x50], ax
mov eax, 0x93
mov word [rsp + 0x50], ax
mov qword [rsp + 0x50], 0x6bf7
mov dword [rsp + 0x50], 0x15
mov eax, dword [0x18005280c]
mov rax, qword [0x1800527f0]
mov eax, dword [0x180052704]
mov dword [rsp + 0x50], 0x9a
movabs rax, 0xb00a25f088709
mov qword [rsp + 0x50], rax
mov eax, dword [0x180052704]
mov rax, qword [0x1800527f0]
mov word [rsp + 0x58], ax
mov qword [rsp + 0x50], 0x8b26
mov qword [rsp + 0x50], 0x29
mov eax, dword [0x180052820]
mov qword [rsp + 0x50], rax
movzx eax, word [0x1800527cc]
mov word [rsp + 0x50], ax
mov eax, 0xf2f779b2
mov qword [rsp + 0x50], rax
movzx eax, word [0x180052814]
mov word [rsp + 0x50], ax
mov al, byte [0x180052703]
mov qword [rsp + 0x50], 0xd513
mov eax, 0xedceaf56
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x50], 0xdd
mov byte [rsp + 0x50], 0xa4
mov byte [rsp + 0x50], 0x42
movzx eax, word [0x18005271c]
mov byte [rsp + 0x50], al
movsx rax, word [0x1800527f8]
mov qword [rsp + 0x50], rax
movsx eax, word [0x18005271c]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x50], 0x303b
movzx eax, byte [0x1800526ef]
mov qword [rsp + 0x50], rax
movsx eax, byte [0x1800526eb]
mov dword [rsp + 0x50], eax
mov al, byte [0x18005271b]
movsx eax, byte [0x1800526eb]
sub dword [0x180052808], eax
movsx rax, word [rsp + 0x58]
mov rdx, qword [rsp + 0x20]
add rdx, rax
movsx rax, word [0x18005279c]
add rcx, rax
not rdx
add rcx, rdx
xor edx, edx
mov qword [rsp + 0x20], rcx
mov ecx, r9d
add rsp, 0x38
jmp 0x18001f368
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2228]
mov eax, 0x2300
call fcn.18002cab0
sub rsp, rax
mov rax, qword [0x180052d38]
xor rax, rsp
mov qword [rbp + 0x21f0], rax
mov al, byte [0x180052810]
xor r15d, r15d
mov byte [rsp + 0x50], al
movzx eax, word [0x180052824]
mov rsi, qword [0x180052830]
mov qword [rbp - 0x68], 0x76ac1a89
mov word [rsp + 0x54], ax
mov eax, 0x93
mov word [rsp + 0x68], ax
mov eax, 0x778fdf29
mov qword [rbp - 0x80], 0x6bf7
mov dword [rsp + 0x64], 0x15
mov qword [rbp - 8], rax
mov qword [rbp + 0x18], rax
movabs rax, 0xb00a25f088709
mov dword [rbp - 0x2c], ecx
mov qword [rbp + 0x58], r8
mov r8d, dword [0x18005280c]
mov r12, qword [0x1800527f0]
mov r14d, dword [0x180052704]
mov dword [rsp + 0x60], 0x9a
mov qword [rbp - 0x78], rax
mov eax, dword [0x180052704]
mov dword [rsp + 0x74], eax
mov rax, qword [0x1800527f0]
movzx ebx, word [0x18005279c]
mov word [rsp + 0x5c], ax
mov byte [rbp - 0x5c], dl
mov dl, byte [0x18005271e]
mov qword [rbp - 0x50], 0x8b26
mov qword [rbp - 0x38], 0x29
mov eax, dword [0x180052820]
mov qword [rbp - 0x38], rax
movzx eax, word [0x1800527cc]
mov word [rsp + 0x50], ax
mov eax, 0xf2f779b2
mov qword [rbp - 0x38], rax
movzx eax, word [0x180052814]
mov word [rsp + 0x50], ax
mov al, byte [0x180052703]
mov qword [rbp - 0x38], 0xd513
mov eax, 0xedceaf56
mov qword [rbp - 0x38], rax
mov dword [rsp + 0x6c], 0xdd
mov byte [rsp + 0x50], 0xa4
mov byte [rsp + 0x50], 0x42
movzx eax, word [0x18005271c]
mov byte [rsp + 0x50], al
movsx rax, word [0x1800527f8]
mov qword [rbp - 0x38], rax
movsx eax, word [0x18005271c]
mov dword [rsp + 0x6c], eax
mov qword [rbp - 0x38], 0x303b
movzx eax, byte [0x1800526ef]
mov qword [rbp - 0x38], rax
movsx eax, byte [0x1800526eb]
mov dword [rsp + 0x6c], eax
mov al, byte [0x18005271b]
mov al, byte [0x1800526ee]
mov cl, byte [0x180052824]
neg cl
mov dword [rsp + 0x70], edx
add al, cl
mov byte [0x18005271f], al
mov eax, dword [0x180890880]
mov byte [0x1800526ee], 0xab
mov dword [rsp + 0x50], eax
mov byte [0x1800526ea], 2
mov rax, qword [rbp - 0x78]
sub rax, 0x1d835f04
mov qword [0x180052818], rax
movzx eax, byte [0x1800526ea]
mov ecx, eax
test al, al
je 0x18001f588
sub ecx, 1
je 0x18001f55f
cmp ecx, 1
jne 0x18001f5b7
mov eax, dword [rsp + 0x60]
add eax, 0x3db18ce0
mov dword [rsp + 0x60], eax
jmp 0x18001f5b7
mov rax, qword [rbp - 0x78]
movzx ebx, dl
sub bx, ax
movsx ecx, r12b
movzx eax, word [rsp + 0x54]
add bx, 0x2c
add cx, ax
mov eax, 0x2ed8
add cx, ax
mov word [rsp + 0x54], cx
jmp 0x18001f5b7
mov eax, dword [rsp + 0x60]
mov ecx, r15d
neg eax
mov rax, qword [rbp - 0x68]
sbb edx, edx
neg edx
add edx, 0xda1235f8
sub edx, ecx
mov eax, edx
mov qword [0x180052800], rax
mov eax, dword [0x18005280c]
movsx ecx, al
imul r12d, ecx, 0xffffffa7
mov eax, dword [rsp + 0x50]
add eax, 0x5be
movzx r9d, r8w
mov dword [rbp - 0x58], eax
xor r8d, r8d
mov eax, dword [0x1800527e8]
mov rdx, qword [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea ecx, [r8 + 0x10]
mov qword [rsp + 0x20], r15
call fcn.1800246b4
mov qword [rbp - 0x78], rax
mov edx, r15d
mov rax, qword [rbp - 0x78]
mov ecx, r15d
cmp rax, 0x15
mov rax, qword [rbp - 0x78]
seta dl
test rax, rax
mov eax, dword [rsp + 0x50]
setne cl
cmp ecx, edx
movzx ecx, r14b
mov rdx, r15
sbb edi, edi
add eax, 0x8ce
mov dword [rbp + 0x40], eax
and edi, 0x51a21522
mov eax, dword [rsp + 0x50]
add edi, 0x887020d7
add eax, 0x6ff
mov dword [rbp + 0x10], eax
mov eax, dword [0x180890880]
mov qword [rbp - 0x70], rax
mov eax, dword [0x18005280c]
test eax, eax
mov rax, qword [0x1800527f0]
cmove rdx, rcx
mov ecx, r15d
add rax, rdx
mov eax, dword [0x180890880]
sete cl
mov word [0x18005279c], cx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
add eax, 0x53d
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x64]
cmp eax, dword [0x180052808]
jae 0x18001f6cc
mov edx, 0xd6
mov qword [rsp + 0x20], 0x4e
xor r9d, r9d
xor ecx, ecx
lea r8d, [rdx + 0x19]
call fcn.180024b5c
cmp eax, 0x3b
mov edx, r15d
mov ecx, r15d
setne dl
test eax, eax
setne cl
cmp ecx, edx
ja 0x18001f6d8
movzx ebx, word [rsp + 0x54]
movzx eax, word [0x1800527b4]
neg bx
mov word [rsp + 0x54], ax
jmp 0x18001f6d8
mov eax, Ordinal_127
mov word [0x18005279c], ax
mov eax, dword [rsp + 0x50]
add eax, 0x40bf
mov dword [rsp + 0x6c], eax
movzx eax, byte [0x1800526ea]
mov edx, dword [0x180052704]
add edx, eax
mov eax, dword [0x180052704]
or eax, edx
mov edx, r15d
mov dword [0x180052704], eax
mov eax, dword [0x1800527fc]
movzx ecx, word [0x1800527cc]
xor ax, cx
sub cx, ax
mov eax, dword [rsp + 0x50]
add eax, 0x7415
mov word [0x1800527cc], cx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
movsx ecx, word [0x18005274c]
mov eax, dword [rsp + 0x60]
sub eax, ecx
movsx rcx, word [0x18005279c]
mov dword [rsp + 0x60], eax
mov dword [rbp + 8], 0x701
mov rax, qword [rbp - 0x78]
cmp rax, rcx
mov rax, qword [rbp - 0x78]
mov ecx, r15d
setne dl
cmp rax, 0xb
setne cl
cmp edx, ecx
jb 0x18001f77e
mov eax, dword [0x1800527e8]
mov dword [0x1800527dc], eax
jmp 0x18001f7b6
movsx eax, byte [0x18005271f]
mov rcx, r15
add eax, dword [0x180052824]
mov rax, qword [rbp - 0x50]
movsxd rdx, dword [0x1800527b4]
sete cl
sub rdx, rcx
sub rdx, rax
mov rax, qword [rbp - 0x68]
add eax, edx
mov dword [rsp + 0x60], eax
mov dword [0x1800527e8], 0xdc8
mov eax, dword [0x180890880]
mov edx, r15d
mov dword [rsp + 0x50], eax
movsx ecx, word [0x18005274c]
mov eax, dword [0x180052820]
cmp eax, ecx
mov eax, dword [0x180052820]
mov ecx, r15d
setbe dl
cmp eax, 0x28
setbe cl
cmp edx, ecx
jae 0x18001f7f4
movzx eax, word [0x180890880]
mov word [rsp + 0x68], ax
mov eax, dword [rsp + 0x50]
add eax, 0x5a3
mov dword [rsp + 0x58], eax
mov rax, qword [rbp - 0x68]
mov eax, dword [rsp + 0x50]
mov ecx, dword [0x180052808]
add eax, 0x42bf
cmp word [0x1800527f8], r15w
mov dword [0x180052808], ecx
mov dword [rbp + 0x20], eax
je 0x18001f84f
movabs rax, 0x3236382d736f64
lea rcx, [rbp + 0x2060]
mov qword [rbp + 0x2060], rax
call qword [sym.imp.KERNEL32.dll_lstrlenA]
cdqe
mov qword [rbp - 8], rax
mov qword [rbp + 0x18], rax
mov eax, dword [rsp + 0x50]
mov edx, 0x166
add eax, 0x580
mov r8d, 1
mov dword [rsp + 0x7c], eax
mov ecx, dword [0x1800527c8]
mov rax, qword [0x1800527f0]
add rcx, 0xfffffffffdd7a76e
add eax, ecx
mov dword [0x1800527c8], eax
movzx eax, byte [0x18005271b]
movzx r14d, word [0x180b10a4c]
imul eax, eax, 0x4de790d1
mov qword [rbp - 0x18], r14
mov dword [0x180052808], eax
sub rdx, r8
jne 0x18001f883
mov ecx, dword [rsp + 0x58]
mov r9b, 0xe9
mov eax, dword [rsp + 0x58]
mov dl, 0x82
sub ecx, eax
mov byte [rsp + 0x30], 0xe0
mov eax, dword [rsp + 0x7c]
add ecx, eax
mov eax, dword [rbp + 0x20]
mov r15b, byte [0x18005271e]
add eax, ecx
xor eax, 0x4d99
and r15b, 0xfb
mov dword [rbp + 0x34], eax
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
add eax, 0x581
mov dword [rsp + 0x58], eax
xor eax, eax
movzx r8d, word [rsp + 0x5c]
mov cl, byte [0x1800527f8]
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], al
call fcn.180024268
xor r8d, r8d
test al, al
je 0x18001f925
movzx eax, word [rsp + 0x54]
mov rdx, qword [rbp - 0x70]
add ax, dx
mov word [rsp + 0x54], ax
jmp 0x18001f964
cmp word [0x180052814], r8w
je 0x18001f960
mov al, byte [0x1800526ea]
mov rcx, r8
test al, al
mov rdx, rsi
movzx eax, word [0x180052814]
sete cl
sub rdx, rcx
not rdx
imul rax, rdx
mov qword [rbp - 0x80], rax
movsx eax, word [rsp + 0x74]
mov dword [0x1800527dc], eax
mov rdx, qword [rbp - 0x70]
mov eax, dword [rsp + 0x50]
add eax, 0x588
mov dword [rsp + 0x6c], eax
mov al, byte [0x18005271b]
mov rax, qword [rbp - 0x50]
mov eax, dword [rsp + 0x50]
add eax, 0x534
mov dword [rsp + 0x7c], eax
mov rcx, qword [0x1800527e0]
mov rax, qword [0x180052800]
cmp rax, rcx
jne 0x18001f9dc
cmp word [0x1800527f8], r8w
je 0x18001f9b2
mov qword [rbp - 0x80], 0xf238
mov r14d, edi
jmp 0x18001fa04
movsx rax, word [rsp + 0x5c]
mov edx, r8d
cmp r14, rax
mov eax, dword [0x1800527e8]
mov r14d, edi
setne dl
cmp eax, edx
ja 0x18001fa04
mov eax, dword [rsp + 0x64]
movsx r14d, byte [0x18005271f]
jmp 0x18001fa04
movsx ecx, word [0x18005274c]
mov r14d, edi
mov eax, dword [0x180052820]
cmp ecx, eax
jb 0x18001fa04
movzx eax, word [rsp + 0x68]
mov ecx, 0xe5
add ecx, edx
and cx, ax
mov word [rsp + 0x68], cx
mov ecx, dword [rsp + 0x58]
mov edx, 0x68
mov eax, dword [rsp + 0x58]
or ecx, eax
mov eax, dword [rsp + 0x7c]
add eax, 0x8d2b
imul eax, ecx
movsx rcx, byte [0x1800526eb]
sub eax, 0x3259cdd
mov dword [rbp - 0x20], eax
call fcn.180024070
xor r9d, r9d
mov dword [0x1800527b4], eax
test eax, eax
je 0x18001fb09
movsxd rcx, dword [0x1800527dc]
mov rax, qword [0x180052818]
sub ecx, eax
mov dword [0x1800527dc], ecx
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x18]
add rcx, 0xffffffffffff9a70
add rcx, rax
mov qword [rbp - 0x50], rcx
mov r8d, dword [rsp + 0x70]
mov eax, dword [0x180890880]
mov edx, 0xd0
mov dword [rsp + 0x68], eax
mov r10d, 1
movzx ecx, word [0x180052814]
imul ecx, dword [0x1800527b4]
and dword [0x1800527b4], ecx
movzx ecx, word [0x18005271c]
movzx eax, word [0x18005271c]
sub cx, bx
add word [0x18005279c], r10w
add cx, ax
mov word [0x18005271c], cx
sub rdx, r10
jne 0x18001fa8b
mov eax, dword [rsp + 0x68]
add eax, 0x26c1
cmp qword [0x1800527c0], 0x36
mov dword [rsp + 0x7c], eax
jg 0x18001fba7
mov ecx, 0x20a
mov rax, qword [0x180052800]
sub ecx, r10d
mov eax, dword [0x1800527d8]
add eax, r10d
mov dword [0x1800527d8], eax
test ecx, ecx
jg 0x18001fae7
jmp 0x18001fbc0
mov rcx, qword [rbp - 0x80]
mov rax, qword [rbp - 0x68]
cmp rcx, rax
jae 0x18001fa71
test r14d, r14d
je 0x18001fb33
mov rax, qword [rbp - 0x78]
sub eax, 0x4f587ed1
mov dword [0x180052820], eax
jmp 0x18001fa71
test rsi, rsi
je 0x18001fa71
movzx eax, word [0x18005279c]
mov rcx, r9
sub word [0x180052814], ax
movabs rdx, 0xfffcecfc0dd09245
movzx eax, word [0x1800527ec]
imul eax, dword [0x1800527b4]
mov r8d, dword [rsp + 0x70]
test eax, eax
mov rax, qword [0x180052818]
sete cl
imul rax, rdx
mov edx, r9d
or rax, rcx
movzx ecx, r15b
movzx eax, r8b
not cx
setne dl
xor cx, ax
mov rax, qword [rbp - 0x78]
sub dx, cx
sub dx, ax
mov word [0x1800527cc], dx
jmp 0x18001fa76
cmp dword [0x1800527b4], r9d
jne 0x18001fbc0
mov rax, qword [0x1800527d0]
shl al, 7
mov byte [0x1800526ee], al
mov eax, dword [rsp + 0x68]
add eax, 0x56b
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x68]
add eax, 0x586
mov dword [rsp + 0x6c], eax
test r14d, r14d
je 0x18001fbec
mov eax, dword [0x180052704]
mov ecx, r10d
test eax, eax
jne 0x18001fbef
mov ecx, r9d
mov rax, qword [0x1800527d0]
test rax, rax
je 0x18001fc08
mov eax, dword [0x1800527c8]
test eax, eax
mov eax, r10d
je 0x18001fc0b
mov eax, r9d
cmp ecx, eax
jbe 0x18001fc14
movzx eax, word [rsp + 0x54]
mov edx, dword [rsp + 0x58]
mov ecx, 0x9a29
mov eax, dword [rsp + 0x7c]
add edx, eax
mov eax, dword [rsp + 0x58]
sub ecx, eax
imul ecx, edx
mov eax, 0x19aa3fff
sub eax, ecx
mov dword [rsp + 0x78], eax
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
add eax, 0x6f4
mov dword [rbp + 0x14], eax
mov word [rsp + 0x68], r10w
mov rax, qword [0x1800527e0]
mov qword [rbp], rax
movsx eax, word [rsp + 0x68]
test eax, eax
je 0x18001fc9b
cmp eax, r10d
jne 0x18001fcb9
movsx rax, word [rsp + 0x54]
mov rdx, qword [0x180052818]
sub rdx, rax
mov rax, qword [0x180052818]
sub rdx, rax
mov qword [0x180052818], rdx
movsx r14, word [0x18005274c]
add r14d, dword [rbp - 0x70]
jmp 0x18001fcb9
mov eax, dword [rsp + 0x60]
mov rcx, r9
test eax, eax
movzx eax, word [0x180890880]
mov word [0x1800527ec], ax
sete cl
mov qword [rbp - 0x78], rcx
mov eax, dword [rsp + 0x50]
mov ecx, r9d
add eax, 0x7f8
movzx edx, r15b
mov dword [rbp - 0x48], eax
movsx eax, r12b
add eax, 0x53168b89
mov qword [rbp - 0x68], rax
mov eax, dword [0x18005280c]
not eax
imul eax, edx
test eax, eax
movzx eax, word [0x180052814]
sete cl
sub ax, dx
mov edx, dword [rsp + 0x74]
sub ax, cx
mov word [0x18005273c], ax
mov ecx, r9d
mov eax, dword [rsp + 0x50]
add eax, 0x6a5
mov dword [rsp + 0x6c], eax
mov eax, dword [0x1800527dc]
and eax, 0x4685
mov dword [0x1800527b4], eax
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
add eax, 0x74f
mov dword [rbp + 0x28], eax
movzx eax, word [0x18005271c]
cmp dx, ax
mov eax, r9d
setg cl
cmp dx, 0x2d
setg al
cmp ecx, eax
jb 0x18001fd65
mov ecx, dword [0x1800527dc]
mov eax, dword [rsp + 0x60]
add ecx, eax
mov dword [0x1800527dc], ecx
mov eax, dword [rsp + 0x50]
add eax, 0x629
mov dword [rsp + 0x6c], eax
test r8b, r8b
je 0x18001fda6
movsx ecx, word [0x18005271c]
mov edx, r9d
mov eax, dword [rsp + 0x64]
cmp ecx, eax
movzx eax, word [0x18005271c]
mov ecx, r9d
sete dl
cmp ax, 0x5b
sete cl
cmp edx, ecx
jne 0x18001fda6
mov esi, dword [rsp + 0x60]
and rsi, r10
mov eax, dword [rsp + 0x50]
mov ebx, 0x14
mov r12, qword [rbp]
add eax, 0x8d2
mov r13, qword [rbp - 0x70]
mov rdx, r12
mov dword [rbp + 0x50], eax
movzx eax, word [rsp + 0x5c]
neg ax
movzx ecx, r15b
mov word [0x1800527cc], ax
mov rax, qword [0x180052800]
test rax, rax
mov edi, r14d
mov eax, dword [0x180890880]
cmovne rdx, rcx
mov qword [0x180052828], rdx
mov dword [rsp + 0x50], eax
mov rdx, rdi
mov ecx, 0xea
call fcn.180024070
xor r8d, r8d
mov dword [0x1800527b4], eax
cmp eax, 0x63
mov edx, r8d
mov ecx, r8d
setle dl
test eax, eax
setle cl
cmp ecx, edx
je 0x18001fe75
test r14d, r14d
je 0x18001fe4e
movzx eax, word [0x18005271c]
test ax, ax
mov rax, qword [rbp - 0x80]
jne 0x18001fe3b
mov rax, qword [rbp + 0x18]
mov word [0x180052810], ax
movzx eax, word [0x180052814]
xor rsi, rax
jmp 0x18001fe83
mov eax, dword [0x180052820]
mov rdx, r12
sub rdx, rax
mov eax, dword [0x180052820]
add eax, edx
mov dword [0x180052820], eax
mov rax, r13
shl rax, 6
mov qword [rbp - 0x68], rax
jmp 0x18001fe83
mov eax, dword [0x1800527e8]
neg al
mov byte [0x1800526eb], al
mov r9d, 1
add byte [0x18005271e], r9b
sub rbx, r9
jne 0x18001fdf7
mov eax, dword [rsp + 0x50]
mov r15d, 0xa9
movsxd r13, dword [rbp - 0x2c]
add eax, 0x879
mov dword [rsp + 0x6c], eax
mov eax, 0xfffff4fe
mov word [0x18005271c], ax
mov eax, dword [rsp + 0x50]
add eax, 0x64a
mov qword [rbp - 0x28], r15
mov dword [rbp + 0x48], eax
mov rcx, qword [0x180052818]
mov al, byte [0x1800526eb]
mov rbx, qword [rbp - 0x68]
not al
sub al, byte [0x180052828]
not bl
add cl, al
mov eax, dword [rsp + 0x50]
add eax, 0x8fc
and bl, cl
mov dword [rbp + 0x20], eax
mov rax, qword [rbp - 0x78]
test rax, rax
jne 0x18001ff1f
mov rax, qword [0x1800527f0]
test rax, rax
je 0x18001ff1f
movzx eax, word [rsp + 0x74]
lea ecx, [r15 + 0x6d]
add ax, cx
mov word [rsp + 0x5c], ax
jmp 0x18001ff59
test r12, r12
je 0x18001ff32
mov eax, 0xb9
mov word [0x1800527f8], ax
jmp 0x18001ff59
test bl, bl
jne 0x18001ff59
mov rax, qword [0x180052830]
test rsi, rsi
mov rcx, r8
not rax
sete cl
add rcx, rax
je 0x18001ff59
movzx eax, byte [rsp + 0x70]
mov dword [0x18005280c], eax
mov eax, dword [0x180890880]
mov ecx, r8d
mov rdx, qword [rbp - 0x18]
mov dword [rsp + 0x50], eax
mov eax, dword [0x1800527fc]
cmp r14d, eax
mov eax, r8d
setb cl
cmp r14d, 0x30
setb al
cmp ecx, eax
ja 0x18001ff92
movzx eax, word [0x1800527cc]
sub rdx, rax
mov qword [rbp - 0x18], rdx
mov eax, dword [rsp + 0x50]
mov ecx, 0x1d8
add eax, 0x8d0
mov dword [rsp + 0x7c], eax
mov dil, byte [0x1800526ea]
sub dil, 0x60
mov rax, qword [rbp - 0x68]
and eax, 0x6064b20c
sub r14d, eax
sub rcx, r9
jne 0x18001ffaf
mov eax, dword [rsp + 0x50]
add eax, 0x5f4
mov qword [rbp + 0x18], r14
mov dword [rsp + 0x6c], eax
mov rcx, qword [rbp - 0x80]
mov rax, qword [rbp - 0x80]
and rcx, r15
sub rax, rcx
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x80], rax
mov rcx, r12
movzx eax, word [rsp + 0x54]
test ax, ax
mov eax, dword [rsp + 0x50]
cmovne rcx, rdx
add eax, 0x675
mov qword [0x180052830], rcx
mov dword [rbp - 0x30], eax
mov eax, dword [0x1800527c8]
test eax, eax
je 0x180020035
movsxd rax, dword [0x180ad9160]
mov r14d, 0xf7f0a731
mov rcx, qword [0x1800527e0]
and rcx, rax
mov qword [rbp + 0x18], r14
mov qword [0x1800527e0], rcx
movsx ecx, word [0x18005273c]
xor r9d, r9d
movzx eax, word [rsp + 0x54]
xor edx, edx
sub ax, cx
mov dword [0x180052824], 0x93ed
mov dword [rbp - 0x60], r8d
mov word [rsp + 0x54], ax
movsx eax, word [0x1800527f8]
mov dword [0x1809cafdc], eax
movzx eax, byte [0x1800526ea]
mov ecx, dword [0x1800527fc]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rax
call fcn.1800246b4
mov qword [rbp - 0x10], rax
xor edx, edx
movsx eax, word [rsp + 0x54]
add dword [0x180052808], eax
mov eax, dword [rsp + 0x60]
movsx ecx, ax
movsx eax, word [0x18005279c]
imul eax, ecx
mov word [0x18005279c], ax
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x1800200bd
mov r12, qword [rbp - 8]
jmp 0x1800200c5
mov r12, qword [rbp - 0x68]
mov qword [rbp - 8], r12
movsx eax, byte [0x18005272d]
mov ecx, 0x1d2
add eax, 0x1171296d
mov dword [rbp + 0x38], edx
mov qword [0x1800527d0], rax
mov r8d, 1
test rsi, rsi
je 0x1800200fe
mov edx, 0xbb99
movzx eax, si
and ax, dx
mov word [rbp - 0x10], ax
xor edx, edx
jmp 0x18002010d
mov eax, dword [rsp + 0x60]
and r14d, eax
movzx eax, bl
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x5c]
add ax, r8w
mov word [rsp + 0x5c], ax
sub rcx, r8
jne 0x1800200e6
movzx eax, word [0x180052810]
lea esi, [rcx + 4]
imul rcx, rax, 0x41
mov qword [rbp + 0x18], r14
mov qword [rbp - 0x80], rcx
movsx rcx, word [rsp + 0x68]
mov rax, qword [0x180052800]
add rcx, 0xffffffffffffff56
sub rcx, rax
mov dword [rsp + 0x58], edx
mov qword [rbp - 0x40], rcx
mov dword [rbp + 0x30], edx
test r13d, r13d
jne 0x18002039c
xor r13d, r13d
mov qword [rsp + 0x28], 0x1f
xor edx, edx
mov qword [rsp + 0x20], r13
xor ecx, ecx
lea r8d, [rsi + 0x6e]
mov r9d, 0x90
call fcn.1800246b4
cmp eax, 0x5d
mov r15d, eax
mov ecx, r13d
mov qword [rbp - 0x28], r15
setg cl
mov eax, r13d
test r15d, r15d
setg al
cmp eax, ecx
jae 0x180020219
cmp word [0x1800527f8], r13w
je 0x1800201da
mov edx, dword [0x1800527e8]
mov ecx, r13d
movzx eax, word [rbp - 0x10]
add edx, eax
mov rax, qword [0x1800527f0]
test rax, rax
sete cl
lea rax, [rcx + rdx]
mov rcx, qword [rbp - 0x78]
add cl, al
mov byte [0x1800526ee], cl
jmp 0x180020220
movsx rcx, word [rsp + 0x5c]
add rcx, qword [rbp - 0x70]
je 0x180020220
mov rcx, qword [0x1800527d0]
movsx rax, byte [0x18005272d]
add qword [0x180052828], rax
movzx eax, word [0x180052814]
sub rcx, rax
mov rax, qword [0x1800527d0]
xor rax, rcx
mov qword [0x1800527d0], rax
jmp 0x180020220
movzx esi, byte [0x18005271b]
mov rax, qword [rbp - 0x80]
mov r9d, 1
imul ecx, eax, 0x45
mov word [0x180052810], r9w
mov dword [0x1800527b4], ecx
movzx ecx, word [0x180052810]
test ecx, ecx
je 0x18002025e
cmp ecx, r9d
jne 0x180020291
mov r15d, dword [rsp + 0x64]
mov rax, qword [rbp - 0x80]
imul r15d, eax
mov qword [rbp - 0x28], r15
jmp 0x180020291
mov rcx, qword [rbp - 0x50]
movzx eax, word [0x1800527ec]
imul rcx, rax
mov rax, qword [rbp - 0x50]
add rax, rcx
mov rcx, 0xffffffffffffffee
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 0x78]
sub rcx, rax
mov rax, qword [rbp - 0x78]
add rax, rcx
mov qword [rbp - 0x78], rax
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
add eax, 0x8a8
mov qword [0x1800527c0], 2
mov dword [rbp - 0x2c], eax
mov al, byte [0x1800526ea]
test al, al
jne 0x1800202d2
movsx eax, byte [0x18005271e]
mov r8d, r13d
mov ecx, dword [rsp + 0x64]
add ecx, eax
not ecx
test ecx, ecx
je 0x1800202d5
mov r8d, r9d
mov rax, qword [0x1800527f0]
mov ecx, r13d
test rax, rax
mov edx, r13d
movsx eax, word [rsp + 0x74]
sete cl
not eax
cmp eax, ecx
movsx ecx, word [rsp + 0x68]
mov eax, r14d
setle dl
sub eax, ecx
xor eax, edx
cmp r8d, eax
jae 0x180020323
mov rcx, qword [0x1800527c0]
not rcx
mov eax, r14d
xor rcx, rax
not rcx
xor rcx, qword [0x180052830]
mov qword [rbp - 0x68], rcx
mov eax, dword [rsp + 0x50]
add eax, 0x5e6
mov dword [rbp + 0x3c], eax
mov rax, qword [0x180052800]
add rax, 0x5081
mov qword [0x180052828], rax
mov eax, dword [rsp + 0x50]
add eax, 0x7b7
mov dword [rsp + 0x50], eax
mov edx, dword [rsp + 0x50]
mov eax, dword [rbp - 0x2c]
imul edx, eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rbp + 0x3c]
xor eax, 0x1e7
sub edx, eax
mov eax, dword [rbp - 0x2c]
imul ecx, eax
mov eax, dword [rsp + 0x50]
add eax, ecx
cmp edx, eax
je 0x180020400
movzx eax, byte [0x180052703]
xor edx, edx
mov rcx, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
test dil, dil
cmove r13, rax
xor r9d, r9d
mov qword [rbp - 0x70], r13
jmp 0x1800203d4
mov ecx, dword [0x180052820]
mov eax, edx
cmp byte [rsp + 0x70], dl
mov r9, r13
mov edx, 0x1fffff
sete al
sub cx, ax
movzx eax, word [0x180890880]
and cx, r12w
mov word [0x180052814], cx
mov rcx, qword [sym.imp.KERNEL32.dll_OpenProcess]
mov word [rsp + 0x54], ax
xor r13d, r13d
xor r8d, r8d
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.18000c2e8
lea r9d, [r13 + 1]
mov qword [rbp - 0x38], rax
mov ecx, dword [rbp + 0x14]
mov eax, dword [rbp - 0x48]
add ecx, 0xfffffd83
cmp eax, ecx
je 0x180020bb5
mov dword [rsp + 0x64], 2
movsx ecx, word [rsp + 0x54]
movzx eax, bl
lea ebx, [r15 + r15]
sub ecx, eax
mov r15, qword [rbp - 0x10]
movzx eax, word [rsp + 0x54]
add ax, cx
mov byte [rsp + 0x70], 0xf0
mov word [rsp + 0x54], ax
mov rax, qword [rbp - 0x80]
mov eax, dword [rsp + 0x64]
movsx ecx, word [0x18005273c]
movabs rax, 0xc256270f6fc41
mov qword [rbp - 0x70], rax
mov eax, dword [0x1800527fc]
add eax, ecx
mov dword [0x1800527fc], eax
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
movzx eax, byte [0x1800526ef]
sub ebx, eax
mov eax, dword [rsp + 0x50]
add eax, 0x6aad
movzx r12d, bx
mov dword [rbp - 0x48], eax
movsx ecx, word [rsp + 0x5c]
add ecx, 0x2b9d7d19
mov qword [rbp - 0x28], rbx
mov dword [0x18005280c], ecx
test r15w, r15w
mov eax, dword [rsp + 0x64]
mov rcx, r13
mov edx, dword [rsp + 0x60]
mov rax, r13
sete al
mov cl, 0
add rcx, rax
movabs rax, 0xfff195cef48f34f4
imul rdx, rax
mov eax, dword [0x1800527d8]
imul eax, eax, 0xfb
sub rdx, rcx
mov rcx, qword [rbp - 0x78]
cdqe
xor rcx, rax
mov eax, dword [rsp + 0x50]
add eax, 0x61d
or rcx, rdx
mov qword [0x180052828], rcx
mov dword [rbp - 0x48], eax
mov eax, 0x3f60
imul r12d, eax
mov eax, dword [rsp + 0x50]
movzx ecx, word [0x1800527ec]
add eax, 0x522
add ecx, dword [0x180052808]
mov dword [rbp - 0x48], eax
add ecx, ebx
mov eax, dword [0x180052820]
sub ecx, eax
mov qword [rbp - 8], r12
lea eax, [r9 + rcx]
mov qword [rbp - 0x50], rax
mov eax, 0x4975
mov rcx, qword [rbp - 0x68]
mov word [0x1800527f8], ax
mov eax, r14d
cmp rcx, rax
je 0x180020566
mov cl, byte [0x18005272d]
dec r14d
mov al, byte [0x1800526ef]
add cl, cl
sub cl, al
mov qword [rbp + 0x18], r14
mov byte [0x18005272d], cl
mov eax, dword [rbp - 0x48]
movups xmm0, xmmword [0x180039838]
imul ecx, eax, 0xb807
mov eax, 0x3b09cae
movdqu xmmword [rbp + 0x20d0], xmm0
sub eax, ecx
lea rcx, [rbp + 0x20d0]
mov dword [rbp + 0x3c], eax
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r9, qword [rbp]
mov rcx, r13
mov word [0x1800527cc], ax
mov rdx, r13
mov eax, dword [rsp + 0x50]
add eax, 0xeade
mov dword [rbp + 0x14], eax
mov eax, dword [0x1800527dc]
test eax, eax
movsx r13, word [0x18005271c]
mov rax, r9
sete cl
not rax
cmp rax, rcx
mov eax, dword [rsp + 0x50]
movsx ecx, r14b
sete dl
add eax, 0x571
mov dword [rbp - 0x48], eax
and r13, rdx
mov byte [0x18005271b], sil
movsx edx, byte [0x1800526ee]
imul edx, ecx
mov qword [rbp - 0x40], r13
mov byte [0x1800526ee], dl
mov eax, dword [rsp + 0x50]
add eax, 0x56a
mov dword [rbp - 0x48], eax
mov rcx, qword [0x180052818]
mov eax, dword [0x180052808]
sub rcx, rax
mov rax, qword [0x180052818]
add rax, rcx
mov byte [0x1808b2b50], r14b
mov qword [0x180052818], rax
mov edx, dword [rbp + 0x10]
mov eax, dword [rbp + 0x40]
add edx, eax
mov r8d, dword [rbp - 0x58]
mov eax, dword [rbp - 0x58]
xor r8d, eax
mov ecx, dword [rbp - 0x48]
mov eax, dword [rbp + 0x14]
or ecx, eax
imul r8d, edx
xor ecx, 0xe7c0
add ecx, r8d
xor r8d, r8d
mov dword [rbp + 0x40], ecx
cmp qword [rbp - 0x38], r8
jne 0x180020bbd
mov eax, dword [0x1800527c8]
xor al, 0xf9
mov byte [0x18005272d], al
mov al, byte [0x1800527c0]
add al, 4
mov byte [0x1800526ef], al
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
movsx ecx, byte [0x1800526ee]
mov edx, dword [0x18005280c]
not ecx
not edx
imul edx, ecx
movsx ecx, byte [0x1800526ee]
mov eax, dword [rsp + 0x50]
movups xmm0, xmmword [str.connection_already]
add ecx, edx
mov rdx, qword [rbp - 0x18]
movsxd rsi, ecx
test r9, r9
movsxd rcx, dword [rsp + 0x74]
movsx rcx, cx
cmovne rdx, rcx
add eax, 0x573
mov dword [rbp - 0x58], eax
lea rcx, [rbp + 0x2068]
movzx eax, word [0x180039858]
mov word [rbp + 0x2078], ax
mov al, byte [0x18003985a]
mov byte [rbp + 0x207a], al
mov qword [rbp], rdx
movups xmmword [rbp + 0x2068], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [rsp + 0x50]
mov r8d, 1
mov dword [rsp + 0x70], eax
add ecx, 0x19aa
mov dword [rbp + 0x10], ecx
mov eax, 4
mov word [0x180052814], ax
movsx eax, byte [0x1800526ee]
movsx edx, byte [0x1800526eb]
not eax
movsx ecx, dil
mov rdi, qword [rbp - 0x70]
add edx, ecx
imul ecx, edx, 0xc8
movzx edx, word [0x1800527cc]
add eax, ecx
add edx, eax
movzx eax, byte [0x1800526ea]
movzx ecx, word [0x180052814]
sub edx, eax
add edx, r8d
mov dword [0x1800527e8], edx
test ecx, ecx
je 0x180020817
sub ecx, r8d
je 0x1800207e7
sub ecx, r8d
je 0x1800207cd
sub ecx, r8d
je 0x1800207a7
cmp ecx, r8d
jne 0x180020823
mov r13, rdi
shr r13, 3
mov qword [rbp - 0x40], r13
jmp 0x180020823
movsx rax, byte [0x18005271e]
sar rax, 5
mov qword [0x1800527d0], rax
mov rax, qword [0x1800527c0]
add rax, 0x13e6a16c
mov qword [rbp - 0x78], rax
jmp 0x180020823
movzx eax, r15w
imul ecx, eax, 0xe290
mov rax, qword [rbp - 0x80]
movsxd rdx, ecx
add rdx, rax
mov qword [rbp - 0x80], rdx
jmp 0x180020823
mov rax, qword [0x1800527b8]
mov ecx, 0x7c75
sub ax, cx
mov word [rsp + 0x5c], ax
movsx rcx, word [0x18005274c]
mov rax, qword [rbp - 0x80]
sub rcx, rax
mov rax, qword [rbp - 0x80]
add rax, rcx
mov qword [rbp - 0x80], rax
jmp 0x180020823
mov eax, dword [rsp + 0x64]
sub al, 0x17
mov byte [0x18005271e], al
mov eax, dword [rsp + 0x50]
mov ecx, r8d
add eax, 0x5ac
xor edx, edx
mov dword [rbp + 0x10], eax
xor r9d, r9d
mov eax, dword [rbp - 0x58]
xor r8d, r8d
sub ecx, eax
mov eax, dword [rbp - 0x58]
add eax, ecx
lea ecx, [rdx + 0x4a]
mov dword [rbp + 0x14], eax
mov eax, 0xd0
mov word [rsp + 0x20], ax
call fcn.1800244e8
movzx ecx, ax
xor r11d, r11d
cmp ecx, 0x38
mov dword [0x180052808], ecx
mov edx, r11d
mov eax, r11d
setbe dl
test ecx, ecx
sete al
cmp eax, edx
je 0x1800208c8
mov eax, dword [0x180039880]
lea rcx, [rbp + 0x2080]
movups xmm0, xmmword [str.DeleteCriticalSect]
mov dword [rbp + 0x20a0], eax
movups xmm1, xmmword [0x180039870]
movzx eax, word [0x180039884]
movups xmmword [rbp + 0x2080], xmm0
mov word [rbp + 0x20a4], ax
movups xmmword [rbp + 0x2090], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x18005272d], al
xor r11d, r11d
jmp 0x180020919
cmp word [0x18005279c], r11w
je 0x1800208f7
movzx eax, word [rsp + 0x5c]
test ax, ax
je 0x1800208f7
mov eax, dword [rsp + 0x60]
movabs rcx, 0x77ae4ea7f27e8
imul rax, rcx
mov qword [0x1800527f0], rax
jmp 0x180020919
mov rax, qword [0x180052818]
test rax, rax
je 0x180020919
mov eax, dword [rsp + 0x60]
mov rcx, qword [rbp - 0x68]
sub rcx, rax
mov rax, qword [rbp - 0x68]
add rax, rcx
mov qword [rbp - 0x68], rax
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x18002093d
movzx eax, word [0x18005271c]
test ax, ax
je 0x18002093d
mov r9d, r11d
jmp 0x180020943
mov r9d, 1
mov eax, dword [0x1800527dc]
mov r8d, r11d
mov r10, qword [rbp]
not eax
xor eax, dword [0x1800527b4]
mov ecx, r11d
not eax
mov edx, r11d
cdqe
cmp rax, r10
mov eax, dword [0x18005280c]
setle r8b
test rdi, rdi
sete cl
cmp ecx, eax
setge dl
add edx, r9d
or edx, r8d
je 0x180020a8b
mov eax, 4
movzx edx, r12w
mov dword [0x1800527d8], eax
xor edi, edi
movzx ecx, byte [0x180052703]
mov eax, edx
add rcx, r10
not eax
not rcx
movsxd r8, eax
movzx eax, r15w
or r8, rax
and r8, rcx
movzx ecx, byte [0x180052703]
mov eax, dword [0x1800527fc]
not ecx
imul ecx, edx
not ecx
movsxd rcx, ecx
add rcx, r8
sub cx, ax
mov eax, 0xc94
sub cx, ax
movzx eax, word [0x180b9a808]
mov word [0x18005273c], cx
mov word [rsp + 0x5c], ax
mov ecx, dword [0x1800527d8]
test ecx, ecx
je 0x180020a7b
sub ecx, 1
je 0x180020a60
sub ecx, 1
je 0x180020a54
sub ecx, 1
je 0x180020a41
mov edx, dword [rsp + 0x70]
cmp ecx, 1
jne 0x180020aaa
movzx ecx, byte [0x18005271b]
mov eax, 0x5710
add cx, ax
mov word [0x18005274c], cx
mov eax, dword [0x1800527d8]
movsx ecx, al
imul eax, ecx, 0x52
mov byte [0x18005271e], al
jmp 0x180020aaa
movzx eax, word [rsp + 0x54]
add r12w, r12w
sub r12w, ax
mov qword [rbp - 8], r12
jmp 0x180020aa6
mov eax, dword [0x180052704]
mov dword [rsp + 0x64], eax
jmp 0x180020aa6
mov rcx, qword [0x180052818]
movsx rax, word [0x18005279c]
add rcx, rax
mov qword [0x180052818], rcx
jmp 0x180020aa6
lea rax, [r13 - 0x1b351f9a]
mov qword [0x180052818], rax
jmp 0x180020aa6
mov ecx, dword [0x180052704]
movzx eax, r15w
cmp ecx, eax
je 0x180020aa4
lea edx, [rdi - 0x13]
xor edi, edi
mov dword [rsp + 0x70], edx
jmp 0x180020aaa
xor edi, edi
mov edx, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x50]
mov eax, dword [rbp + 0x3c]
add ecx, eax
mov dword [rbp - 0x48], ecx
mov eax, dword [rsp + 0x50]
add eax, 0x87c
mov dword [rbp + 0x10], eax
mov al, byte [0x1800526ef]
test al, al
je 0x180020ae2
movzx eax, r12w
imul rax, rsi
test rax, rax
je 0x180020af7
mov r13d, r14d
mov qword [rbp - 0x40], r13
jmp 0x180020af7
mov ecx, dword [0x1800527e8]
mov rax, qword [0x1800527e0]
add eax, ecx
mov dword [0x1800527e8], eax
mov ecx, dword [rsp + 0x50]
mov eax, dword [rbp + 0x40]
add ecx, eax
mov dword [rbp + 0x40], ecx
mov eax, dword [rbp + 0x10]
imul ecx, eax, 0x195
mov eax, dword [rbp - 0x48]
cmp eax, ecx
je 0x180020bbf
movsx rcx, word [0x18005274c]
mov rax, qword [rbp - 0x68]
cmp rcx, rax
jb 0x180020b2e
mov eax, dword [0x1800527d8]
mov rax, qword [0x1800527d0]
test rax, rax
je 0x180020b94
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x180020b57
movsx ecx, word [0x18005274c]
movzx eax, dl
or ecx, eax
mov dword [0x18005280c], ecx
jmp 0x180020bad
test rsi, rsi
je 0x180020b68
mov rax, qword [rbp - 0x80]
xor byte [0x18005272d], al
jmp 0x180020bad
mov eax, dword [rsp + 0x60]
mov rcx, qword [0x1800527e0]
mov rax, qword [rbp - 0x80]
sub rcx, rax
mov rax, qword [0x1800527e0]
add rax, rcx
mov word [0x1800527cc], di
mov qword [0x1800527e0], rax
jmp 0x180020bad
movsxd rcx, dword [0x1800527dc]
mov rax, qword [rbp - 0x78]
imul rax, rcx
mov qword [rbp - 0x78], rax
mov al, byte [0x1800526ee]
mov eax, dword [rbp + 0x14]
jmp 0x1800227a8
mov r13, qword [rbp - 0x40]
mov rbx, qword [rbp - 0x28]
xor edi, edi
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor r9d, r9d
mov qword [rsp + 0x40], rdi
xor r8d, r8d
mov qword [rsp + 0x38], rdi
xor edx, edx
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call fcn.18000c2e8
mov rcx, qword [sym.imp.mozglue.dll_export_full.dll_Ordinal_115]
mov rdx, rax
mov qword [rsp + 0x40], rdi
mov r9d, 0x2000
mov qword [rsp + 0x38], rdi
mov r8d, 8
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call fcn.18000c2e8
mov edx, dword [rbp + 0x50]
mov r15, rax
mov ecx, dword [rbp + 0x28]
add edx, 0xfffffd97
mov qword [rbp + 0x40], rax
cmp edx, ecx
je 0x180020cbd
movsx ecx, byte [0x18005271f]
mov eax, 0x53b4
add cx, ax
mov word [0x1800527f8], cx
test r15, r15
jne 0x180020cbd
movzx ecx, byte [0x18005271b]
sub cl, byte [0x1800527ec]
mov eax, dword [0x180890880]
mov byte [0x18005271b], cl
mov ecx, dword [rsp + 0x74]
mov dword [rbp - 0x60], eax
mov eax, 0x5c52
sub cx, ax
movzx eax, word [rsp + 0x68]
add cx, ax
mov word [rsp + 0x68], cx
mov eax, dword [rbp - 0x60]
add eax, 0x660
mov word [0x1808c81d6], bx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp - 0x60]
add eax, 0x69c
mov dword [rbp + 0x30], eax
mov eax, dword [rbp - 0x60]
add eax, 0x8b4
mov dword [rbp + 0x30], eax
mov eax, 0xa
jmp 0x1800227a8
mov qword [rsp + 0x40], rdi
lea rcx, [fcn.18002e070]
mov qword [rsp + 0x38], rdi
mov r9d, 0x2000
mov qword [rsp + 0x30], rdi
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov rdx, r15
mov qword [rsp + 0x20], rdi
call fcn.18000c2e8
mov rcx, qword [rbp - 0x38]
lea r9, [rbp - 0x60]
mov r8d, 0x2000
mov rdx, r15
call fcn.1800198a4
test eax, eax
je 0x180020e56
mov rax, qword [rbp - 0x50]
mov edx, edi
shr rax, 4
cmp dword [0x1800527b4], edi
mov word [rsp + 0x68], ax
movzx eax, word [0x1800527c0]
cmovne ax, word [rbp - 0x50]
dec r14d
mov word [rsp + 0x54], ax
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0x50]
mov eax, dword [rbp + 8]
add ecx, eax
mov dword [rbp + 8], ecx
mov eax, dword [0x180052820]
mov ecx, dword [rsp + 0x50]
mov r13d, eax
mov qword [rbp - 0x40], rax
mov eax, dword [rbp + 0x34]
add ecx, eax
mov dword [rbp + 0x34], ecx
movsx ecx, word [0x18005271c]
movzx eax, r12w
cmp ecx, eax
mov qword [rbp + 0x18], r14
movzx eax, word [0x18005271c]
mov ecx, edi
setl dl
cmp ax, 0x51
setl cl
cmp edx, ecx
je 0x180020da6
movsx eax, word [rsp + 0x54]
mov edx, dword [0x1800527e8]
and edx, eax
movzx eax, word [rsp + 0x54]
xor ax, dx
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x50]
add eax, 0x75d
mov dword [rbp + 0x28], eax
mov ecx, dword [rbp + 8]
mov eax, dword [rbp - 0x20]
sub ecx, eax
mov eax, dword [rbp + 0x34]
cmp eax, ecx
je 0x180020e56
movzx eax, byte [0x18005271b]
mov r9d, reloc.mozglue.dll_export_full.dll_Ordinal_127
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov qword [rsp + 0x20], rdi
lea edx, [r9 - 0x6d]
lea ecx, [rdx + 0x19]
call fcn.1800249e4
mov qword [0x1800527f0], rax
mov edx, edi
mov rax, qword [0x1800527f0]
mov ecx, edi
cmp rax, 0x30
mov rax, qword [0x1800527f0]
sete dl
test rax, rax
sete cl
cmp ecx, edx
je 0x180020e4c
movsx ecx, word [0x18005279c]
test ebx, ebx
mov qword [rbp - 0x68], 0xffffffffffffff76
mov edx, 0x4745
cmovne ecx, dword [rsp + 0x60]
mov qword [rbp - 0x80], rcx
movsx ecx, byte [0x1800526eb]
add cx, dx
mov byte [0x1800526ee], 2
mov word [0x1800527ec], cx
mov eax, 2
jmp 0x1800227a8
mov ebx, dword [rbp - 0x60]
mov ecx, ebx
mov qword [rbp + 0x50], rbx
call fcn.18001e81c
mov qword [rbp + 0x28], rax
test rax, rax
jne 0x180020fb4
mov ecx, dword [0x18005280c]
lea edi, [rax + 1]
mov ecx, dword [rsp + 0x64]
mov r8d, 0x14e
mov ecx, dword [rsp + 0x60]
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x50]
movzx edx, word [0x180052810]
movzx r13d, word [0x18005274c]
movzx ecx, dx
sub cx, ax
mov rax, qword [rbp - 0x78]
and cx, dx
add rax, rdi
mov word [0x180052810], cx
mov ecx, 0x77f6
add r13w, cx
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x10], r13
sub r8, rdi
jne 0x180020e8c
mov eax, dword [0x180890880]
xor edi, edi
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
add eax, 0x66f
mov qword [rsp + 0x20], rdi
mov dword [rbp - 0x20], eax
lea edx, [rdi + 0x7c]
mov ecx, dword [rsp + 0x50]
lea r9d, [rdi + 0x70]
mov eax, dword [rsp + 0x78]
add ecx, eax
mov dword [rbp - 0x58], ecx
xor ecx, ecx
movsxd r8, dword [0x1800527d8]
call fcn.180024b5c
mov word [rsp + 0x5c], ax
movzx edx, byte [0x180052703]
movzx eax, r13w
or edx, eax
movsx eax, word [rsp + 0x54]
cmp edx, eax
jne 0x180020f38
mov eax, 0x73c3
xor ax, word [0x180052824]
mov word [rbp - 0x10], ax
jmp 0x180020f5e
mov rdi, qword [rbp - 0x78]
movabs rcx, 0xb7560c8a72681
add rdi, 0xf5e5
movzx eax, r12w
sub rax, rcx
mov qword [rbp - 0x70], rdi
xor edi, edi
mov qword [rbp - 0x80], rax
mov eax, dword [rsp + 0x50]
mov r13, qword [rbp - 0x40]
add eax, 0x75f
mov dword [rsp + 0x78], eax
mov edx, dword [rsp + 0x78]
mov eax, dword [rbp - 0x58]
add edx, eax
mov eax, dword [rbp - 0x58]
cmp edx, eax
je 0x180020fad
mov rax, qword [0x180052818]
mov dword [0x180af6314], eax
lea eax, [rsi - 0x4291f54d]
mov dword [0x1800527c8], eax
movsx eax, word [rsp + 0x74]
sub eax, 0x25636026
mov dword [0x1800527c8], eax
jmp 0x180020cb3
mov ebx, dword [rbp - 0x60]
mov rax, qword [rbp + 0x28]
test ebx, ebx
je 0x180021614
mov rsi, qword [rbp + 0x50]
mov rdi, r15
mov r15, qword [rbp - 0x28]
sub rdi, rax
mov r14, qword [rbp - 0x10]
mov rbx, rax
xor edx, edx
xor ecx, ecx
call fcn.180024070
mov qword [rbp - 0x80], rax
xor edx, edx
mov rax, qword [rbp - 0x80]
test rax, rax
jne 0x18002100f
cmp word [rsp + 0x74], dx
je 0x180020ffe
mov eax, 0x6d85
mov word [0x18005273c], ax
jmp 0x18002101f
mov byte [0x18005271b], 0x2b
mov qword [rbp - 0x78], 0x98
jmp 0x18002101f
movsx rcx, word [rsp + 0x68]
neg rcx
mov qword [0x180052828], rcx
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
add eax, 0x76b
mov dword [rbp - 0x2c], eax
movzx eax, r12w
cmp dword [0x180052824], eax
jne 0x180021066
mov eax, dword [rsp + 0x60]
cmp rax, r13
jle 0x180021066
movzx ecx, byte [0x1800526ea]
mov eax, dword [0x1800527d8]
add al, cl
mov byte [0x18005271f], 0xdb
mov byte [0x1800526ea], al
mov eax, dword [rsp + 0x50]
xor r9d, r9d
movsx rcx, byte [0x1800526eb]
add eax, 0x824
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rdx
mov rdx, qword [0x180052828]
lea r8d, [r9 + 0x38]
mov dword [rsp + 0x78], eax
call fcn.1800249e4
xor r9d, r9d
mov qword [0x180052828], rax
cmp word [0x180052814], r9w
je 0x1800210c1
movzx eax, word [0x18005273c]
test ax, ax
je 0x1800210c1
lea r8d, [r9 + 1]
mov edx, r8d
jmp 0x1800210ca
mov edx, r9d
mov r8d, 1
movzx ecx, word [0x18005274c]
movzx eax, word [rsp + 0x68]
cmp ax, cx
jle 0x1800210f0
movzx eax, word [0x180052810]
movsx ecx, word [0x1800527f8]
cmp eax, ecx
mov eax, r8d
jle 0x1800210f3
mov eax, r9d
cmp edx, eax
je 0x18002115d
movzx ecx, word [0x18005273c]
movzx eax, byte [rsp + 0x70]
cmp ax, cx
je 0x180021131
lea eax, [r14 + 0x5a]
mov word [0x18005271c], ax
mov rax, qword [0x180052830]
lea rcx, [rax + rax]
mov rax, qword [rbp - 0x80]
sub rcx, rax
mov qword [0x180052830], rcx
jmp 0x180021224
cmp word [0x1800527f8], r9w
mov rdx, qword [rbp - 0x70]
je 0x180021228
movzx eax, r12w
movabs rcx, 0x4dfc0b2f43539
add rax, rcx
mov qword [rbp], rax
jmp 0x180021228
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x1800211a6
mov rdx, qword [rbp - 0x70]
movzx eax, r14w
add eax, 0xbe4
mov dword [0x180052704], eax
mov eax, r9d
mov ecx, dword [0x18005280c]
add ecx, dword [0x180052824]
cmp byte [0x18005271e], r9b
not ecx
sete al
sub ecx, eax
sub ecx, edx
add ecx, 0x3bf3b7f0
mov dword [rsp + 0x64], ecx
jmp 0x180021228
mov rcx, qword [rbp - 0x68]
not rcx
movsxd rax, r15d
cmp rcx, rax
je 0x180021209
movzx eax, word [rsp + 0x68]
mov ecx, r9d
test ax, ax
mov eax, dword [0x1800527fc]
sete cl
cmp ecx, eax
ja 0x180021209
cmp word [0x180052810], r9w
mov edx, r9d
mov dword [0x18005280c], 0xcefd3a4a
movzx r8d, byte [0x1800526ea]
sete dl
movzx ecx, byte [0x1800526ea]
add r8d, edx
mov eax, dword [rsp + 0x60]
imul eax, ecx
xor eax, r8d
not eax
mov dword [rsp + 0x64], eax
jmp 0x180021224
mov rax, qword [0x180052800]
test rax, rax
je 0x180021224
mov al, byte [0x18005271f]
add al, r8b
mov byte [0x18005271e], al
mov rdx, qword [rbp - 0x70]
mov eax, dword [rsp + 0x50]
add eax, 0x5ae
mov dword [rbp - 0x58], eax
movzx eax, word [0x18089476c]
add r13, rax
mov eax, dword [0x180890880]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
add eax, 0x8c6
mov dword [rsp + 0x78], eax
mov rax, qword [rbp - 0x80]
test rax, rax
jne 0x180021293
cmp word [rsp + 0x74], r9w
je 0x180021293
mov rax, qword [0x1800527e0]
mov ecx, 0x948cb61
sub rcx, rdx
add rcx, rax
mov qword [0x1800527e0], rcx
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x64]
xor ecx, eax
mov eax, dword [rsp + 0x64]
sub eax, ecx
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x50]
mov edx, 0xff
mov rcx, qword [rbp - 0x18]
add eax, 0x6ce
mov dword [rsp + 0x78], eax
call fcn.180024070
xor edx, edx
movzx r12d, ax
cmp ax, 0x22
mov ecx, edx
mov eax, edx
seta cl
test r12w, r12w
setne al
cmp eax, ecx
ja 0x1800212dd
lea eax, [rdx + 8]
mov byte [0x1808908bb], r14b
mov word [0x18005273c], ax
jmp 0x1800212fc
mov r13, qword [0x180052830]
movsx ecx, word [rsp + 0x68]
add r13, 0xa1a3
movzx eax, r12w
add eax, ecx
cdqe
mov qword [rbp - 0x70], rax
mov eax, dword [rsp + 0x50]
add eax, 0x59b
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x78]
movsx ecx, word [0x18005279c]
mov eax, dword [0x18005280c]
cmp ecx, eax
jle 0x180021348
mov eax, dword [rsp + 0x64]
add rax, qword [0x180052828]
je 0x180021348
mov eax, dword [rsp + 0x60]
mov ecx, 0x2e24
add ax, cx
mov word [0x18005274c], ax
mov rax, qword [rbp - 0x78]
mov byte [0x180beb7ff], al
mov qword [rsp + 0x40], rdx
lea rcx, [fcn.18002e070]
mov qword [rsp + 0x38], rdx
mov r9d, 0x104
mov qword [rsp + 0x30], rdx
xor r8d, r8d
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rdx
lea rdx, [rbp + 0x20e0]
call fcn.18000c2e8
mov rdx, qword [rdi + rbx]
lea r8, [rbp + 0x20e0]
mov rcx, qword [rbp - 0x38]
mov r9d, 0x104
call fcn.180018fe8
test eax, eax
je 0x180021421
movzx ecx, word [0x180052814]
mov eax, dword [0x18005280c]
cmp eax, ecx
je 0x18002140c
mov r9, qword [0x180052800]
mov eax, 0x9d
mov r8, qword [0x1800527e0]
xor ecx, ecx
movzx edx, r15w
mov word [rsp + 0x20], ax
call fcn.1800244e8
xor r8d, r8d
mov byte [0x1800526ea], al
mov al, byte [0x1800526ea]
mov edx, r8d
cmp al, 0x38
mov ecx, r8d
mov al, byte [0x1800526ea]
sete dl
test al, al
sete cl
cmp ecx, edx
je 0x180021421
movzx eax, word [0x180890880]
mov word [0x18005279c], ax
jmp 0x180021421
mov eax, dword [rsp + 0x64]
movzx eax, word [0x18005271c]
dec ax
mov word [0x18005271c], ax
mov rax, qword [rbp + 0x58]
mov r9d, 0x400
mov r8, qword [rbx]
mov rdx, qword [rdi + rbx]
add r8, 0x110
mov rcx, qword [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x38]
mov qword [rsp + 0x20], rax
call fcn.180016808
mov ecx, dword [rbp + 0x48]
mov edx, 0xfffffea3
mov r8d, dword [rbp + 0x48]
sub edx, ecx
add r8d, edx
mov edx, dword [rbp + 0x20]
mov ecx, dword [rbp + 0x20]
imul edx, ecx
imul ecx, edx, 0x270
cmp ecx, r8d
je 0x180021577
xor edx, edx
test eax, eax
je 0x180021577
mov eax, dword [0x180052704]
mov ecx, edx
movzx eax, word [rsp + 0x54]
cmp dx, ax
mov rax, qword [0x1800527f0]
setge cl
cmp rax, rcx
jl 0x180021577
mov rax, qword [rbp]
lea r9d, [rdx + 2]
lea edx, [r9 + 0x1e]
mov qword [rsp + 0x28], rax
lea ecx, [rdx + 0x5e]
mov qword [rsp + 0x20], 0xcc
xor r8d, r8d
call fcn.1800249e4
mov word [0x18005273c], ax
movzx eax, word [0x18005273c]
test ax, ax
jns 0x180021563
mov al, byte [0x180052810]
xor r9d, r9d
mov dl, byte [0x18005271f]
mov r8b, 0x55
mov byte [rsp + 0x30], 0x38
xor ecx, ecx
mov byte [rsp + 0x28], 0x47
mov byte [rsp + 0x20], al
call fcn.180024268
movzx eax, al
xor edx, edx
mov qword [rbp - 0x50], rax
mov ecx, edx
mov rax, qword [rbp - 0x50]
mov rax, qword [rbp - 0x50]
cmp rax, 4
lea eax, [rdx + 1]
setae cl
cmp ecx, eax
jb 0x18002154d
movzx ecx, byte [0x180052703]
add r15d, 0xfabe1941
mov rax, qword [rbp - 0x80]
add al, cl
mov byte [0x180052703], al
movzx eax, r14w
add r15d, eax
jmp 0x180021577
mov rax, qword [rbp - 0x80]
test rax, rax
jne 0x180021577
mov rax, qword [0x180052800]
sub r14w, ax
jmp 0x180021577
movsx eax, byte [0x18005271f]
sub eax, 0x18146c3e
add r15d, dword [rbp]
mov qword [rbp - 0x80], rax
mov rax, qword [rdi + rbx]
lea r8, [rbp + 0x20e0]
mov rcx, qword [rbx]
mov r9d, 0x103
mov qword [rcx], rax
mov rcx, qword [rbx]
mov eax, dword [rbp + 0x38]
mov dword [rcx + 0x10c], eax
xor eax, eax
mov rdx, qword [rbx]
lea rcx, [0x18002f280]
mov qword [rsp + 0x40], rax
add rdx, 8
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.18000c2e8
mov eax, dword [0x1800527dc]
add rbx, 8
mov edx, dword [rbp - 0x58]
xor byte [rsp + 0x70], al
mov eax, dword [rbp - 0x58]
sub edx, eax
mov ecx, dword [rbp - 0x2c]
mov eax, dword [rbp - 0x2c]
sub ecx, eax
imul ecx, edx
add ecx, dword [rbp + 0x38]
add dword [rsp + 0x58], ecx
sub rsi, 1
jne 0x180020fd1
mov qword [rbp - 0x10], r14
xor edi, edi
mov r14, qword [rbp + 0x18]
mov qword [rbp - 0x28], r15
mov r15, qword [rbp + 0x40]
mov qword [rbp - 0x40], r13
mov qword [rbp - 8], r12
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor r9d, r9d
mov qword [rsp + 0x40], rdi
xor r8d, r8d
mov qword [rsp + 0x38], rdi
xor edx, edx
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call fcn.18000c2e8
mov rcx, qword [sym.imp.mozglue.dll_export_full.dll_Ordinal_116]
mov rdx, rax
mov qword [rsp + 0x40], rdi
mov r9, r15
mov qword [rsp + 0x38], rdi
xor r8d, r8d
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call fcn.18000c2e8
mov edx, dword [rbp - 0x30]
movabs rax, 0xdda31abb3c4fc
movsx r12, word [0x18005279c]
imul r12, rax
mov eax, dword [rsp + 0x7c]
add edx, eax
mov r8d, dword [rsp + 0x6c]
mov eax, dword [rsp + 0x7c]
sub r8d, eax
mov ecx, dword [rbp - 0x30]
xor r8d, edx
mov eax, dword [rbp - 0x30]
add ecx, eax
mov qword [rbp + 8], r12
cmp r8d, ecx
je 0x18002279f
mov eax, dword [0x1800398a8]
lea rcx, [rbp + 0x20a8]
movups xmm0, xmmword [str.Get_token_correlat]
mov dword [rbp + 0x20c8], eax
movups xmm1, xmmword [0x180039898]
movzx eax, word [0x1800398ac]
movups xmmword [rbp + 0x20a8], xmm0
mov word [rbp + 0x20cc], ax
movups xmmword [rbp + 0x20b8], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r13d, eax
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x58], edi
jbe 0x18002279f
mov edx, dword [0x180890880]
mov ecx, 0x9a
mov dword [rsp + 0x58], edx
mov edx, dword [rsp + 0x58]
add edx, 0x8cc
mov qword [rsp + 0x28], 0x28
mov dword [rsp + 0x6c], edx
lea r8d, [rcx - 0x18]
xor edx, edx
mov qword [rsp + 0x20], rdi
lea r9d, [rdx + 0x6d]
call fcn.1800246b4
mov dword [0x1800527c8], eax
mov edx, edi
mov eax, dword [0x1800527c8]
mov ecx, edi
cmp eax, 0x2e
mov eax, dword [0x1800527c8]
setbe dl
test eax, eax
sete cl
cmp ecx, edx
jae 0x1800217a8
test r14d, r14d
je 0x18002178f
movzx ecx, word [0x1800527b4]
mov eax, 0xff1c
imul ecx, eax
mov rax, qword [0x1800527f0]
mov byte [0x1800526eb], al
add word [0x180052814], cx
jmp 0x1800217cf
movsx eax, word [rsp + 0x68]
mov rcx, qword [rbp - 0x50]
sub eax, 0x4c21dd0c
cdqe
add rcx, rax
mov qword [rbp - 0x50], rcx
jmp 0x1800217cf
cmp byte [0x18005271f], dil
je 0x1800217cf
mov rax, qword [rbp - 0x50]
add eax, 0x6f
mov dword [0x1800527fc], eax
movzx eax, word [rsp + 0x68]
movzx ecx, al
imul r13d, ecx, 0x4f
mov dword [rsp + 0x50], r13d
mov eax, dword [rsp + 0x58]
add eax, 0x660
mov dword [rsp + 0x7c], eax
test r12, r12
je 0x1800217e8
movsx ecx, word [rsp + 0x5c]
jmp 0x1800217ef
movzx ecx, word [0x1800527ec]
movsxd rax, ecx
mov ecx, 0x122
mov qword [rbp - 0x68], rax
mov eax, dword [rsp + 0x58]
add eax, 0x84f
mov dword [rsp + 0x6c], eax
mov edx, dword [rsp + 0x6c]
mov eax, dword [rsp + 0x7c]
add edx, eax
mov eax, dword [rsp + 0x7c]
sub ecx, eax
cmp edx, ecx
je 0x18002279f
movsx ecx, byte [0x1800526ee]
mov edx, edi
mov eax, dword [0x1800527d8]
cmp ecx, eax
mov al, byte [0x1800526ee]
mov ecx, edi
setg dl
cmp al, 0x41
setg cl
cmp edx, ecx
mov rdx, qword [rbp - 0x28]
jb 0x1800218af
movzx eax, word [rbp - 8]
mov ecx, edi
cmp edx, eax
mov eax, edi
setl cl
cmp edx, 2
setl al
cmp ecx, eax
jb 0x180021880
mov ecx, dword [rsp + 0x60]
mov rax, qword [0x180052818]
add ecx, 0xc1
add ecx, eax
mov byte [0x180ad2959], r14b
mov dword [rsp + 0x60], ecx
jmp 0x1800218c2
movsx eax, byte [0x18005271f]
not eax
test eax, eax
je 0x1800218c2
movzx eax, byte [0x18005271b]
mov dword [0x180052824], eax
mov eax, 0x54f9
add ax, word [0x180052808]
mov word [0x180052814], ax
jmp 0x1800218c2
movzx eax, byte [0x180052808]
imul ecx, eax, 0x8e
mov byte [0x1800526ea], cl
mov al, byte [0x1800526ea]
mov ecx, 0x7f33
movzx eax, word [0x18005273c]
mov esi, 4
mov al, byte [0x1800526ea]
mov eax, dword [0x180890880]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
add eax, 0x5e5
mov dword [rsp + 0x7c], eax
mov eax, dword [0x180052820]
add ax, cx
mov word [0x18005273c], ax
mov eax, dword [rsp + 0x58]
add eax, 0x568
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rbp - 0x60]
add eax, 0x8ef
mov dword [rsp + 0x6c], eax
test ecx, ecx
je 0x180022153
mov r15, qword [rbp + 0x28]
jmp 0x180021935
mov rdx, qword [rbp - 0x28]
lea eax, [rdx - 0x698c]
mov edx, 0xd1
movsxd rcx, eax
mov qword [rbp - 0x80], rcx
movsx ecx, word [0x18005271c]
mov eax, dword [0x180890880]
lea r9d, [rdx + 0x28]
mov dword [rsp + 0x58], eax
lea r8d, [rdx - 0x5a]
mov eax, dword [rsp + 0x58]
sub ecx, 0xeb
movsxd rbx, ecx
add eax, 0x699
lea ecx, [rdx - 0xe]
mov dword [rbp - 0x30], eax
mov qword [rbp - 0x70], rbx
call fcn.1800243a8
mov byte [0x1800526ef], al
mov al, byte [0x1800526ef]
movsx ecx, byte [0x18005271f]
mov eax, dword [rsp + 0x60]
cmp eax, ecx
jne 0x1800219b4
mov eax, 0x3708
mov word [rsp + 0x74], ax
mov al, byte [0x1800527c0]
add al, 7
mov byte [0x180052703], al
mov eax, dword [rsp + 0x58]
xor edx, edx
mov r8d, dword [rsp + 0x70]
add eax, 0x69b
mov r9, qword [rbp - 8]
mov ecx, edx
mov dword [rsp + 0x78], eax
mov eax, dword [0x1800527e8]
movzx edi, r8b
cmp edi, eax
mov eax, edx
setb cl
cmp r8b, 0x5a
setb al
cmp ecx, eax
jbe 0x1800219fa
mov eax, 0xc7
sub ax, r9w
add word [0x18005279c], ax
mov eax, dword [rsp + 0x58]
add eax, 0x8aa
mov dword [rsp + 0x6c], eax
mov rax, qword [r15]
cmp dword [rax + 0x10c], edx
jbe 0x18002213f
mov r11, qword [rbp]
imul r12, r11, 0x76a9
mov byte [0x1800526ef], r12b
mov rax, qword [rbp - 0x68]
neg al
mov qword [rbp + 8], r12
mov byte [0x18005272d], al
mov eax, dword [0x180890880]
mov dword [rsp + 0x58], eax
mov eax, dword [0x1800527fc]
test eax, eax
jne 0x180021aa0
movzx eax, r13b
mov edx, 0x107b
sub eax, 0x44218fe7
mov r12d, 1
mov dword [0x180052808], eax
movsx eax, word [rsp + 0x68]
movzx esi, word [rsp + 0x5c]
movsx ecx, al
not sil
imul eax, ecx, 0xffffff86
not al
xor al, byte [0x18005272d]
add sil, al
movzx eax, word [rsp + 0x5c]
sar ax, 7
movsx rax, ax
mov qword [rbp - 0x18], rax
sub rdx, r12
jne 0x180021a66
mov r12, qword [rbp + 8]
jmp 0x180021ac9
mov eax, dword [rsp + 0x64]
shl ax, 3
mov word [0x180052810], ax
movsx rax, word [rsp + 0x54]
mov rdx, qword [rbp - 0x50]
xor rdx, rax
movzx eax, word [rsp + 0x54]
sub ax, dx
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x58]
xor ecx, ecx
add eax, 0x564
mov dword [rbp - 0x20], eax
mov rax, qword [0x1800527d0]
test rax, rax
je 0x180021af4
cmp qword [0x180052830], rcx
je 0x180021af4
lea edx, [rcx + 1]
mov r8d, edx
jmp 0x180021afc
mov r8, rcx
mov edx, 1
mov r10, qword [rbp - 0x40]
test r10, r10
je 0x180021b11
mov rax, qword [0x1800527b8]
test rax, rax
jne 0x180021b13
mov edx, ecx
movsx eax, word [0x18005279c]
not eax
cmp eax, edx
setle cl
xor edx, edx
cmp rbx, r8
mov eax, edx
setae al
cmp eax, ecx
ja 0x180021b39
mov r9d, 0x3875
mov qword [rbp - 8], r9
mov eax, dword [rsp + 0x58]
xor r8d, r8d
add eax, 0x653
mov dword [rbp - 0x20], eax
mov eax, dword [rsp + 0x58]
add eax, 0x848
mov dword [rbp + 0x34], eax
cmp byte [rbp - 0x5c], r8b
jne 0x180021b80
mov rdx, qword [r15]
mov r8, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rdx]
call fcn.180022e38
mov r9, qword [rbp - 8]
mov ebx, eax
mov r10, qword [rbp - 0x40]
xor r8d, r8d
mov r11, qword [rbp]
jmp 0x180021b83
mov ebx, r8d
mov ecx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x30]
xor ecx, eax
mov edx, dword [rsp + 0x6c]
mov eax, dword [rsp + 0x78]
imul edx, ecx
mov ecx, dword [rbp - 0x30]
sub ecx, eax
cmp edx, ecx
je 0x18002213f
movsx rcx, word [rsp + 0x74]
movzx eax, r9w
not eax
mov word [rbp - 0x10], r8w
movsxd rdx, eax
mov rax, qword [0x1800527d0]
add rdx, r11
add rdx, rax
movabs rax, 0x1f3dde90a7c7d
add rcx, rdx
mov rdx, r8
mov qword [rbp - 0x50], rcx
mov qword [0x1800527b8], rax
lea rax, [r10 + 0x26]
test rax, rax
movsxd rax, dword [0x18005280c]
sete dl
sub rdx, rax
mov rax, qword [0x180052800]
movzx ecx, byte [0x1800526ef]
sub rdx, rax
mov eax, dword [0x180890880]
add ecx, edx
mov dword [0x1800527e8], ecx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x64]
cmp rax, qword [rbp - 0x18]
jae 0x180021cd8
movzx ecx, word [0x1800527ec]
mov edx, r8d
mov eax, dword [rsp + 0x60]
cmp eax, ecx
mov eax, dword [rsp + 0x60]
mov ecx, r8d
setae dl
cmp eax, 7
setae cl
cmp edx, ecx
jae 0x180021c61
mov al, byte [0x180890880]
mov byte [0x1800526ee], al
mov eax, 1
add byte [0x18005271f], al
jmp 0x180021cd8
mov rax, qword [0x180052800]
test rax, rax
je 0x180021c7c
mov rax, qword [rbp - 0x28]
add eax, 0x4c
mov dword [0x18005280c], eax
jmp 0x180021cd8
mov rax, qword [0x180052800]
test rax, rax
je 0x180021cd8
movzx eax, word [0x18005273c]
mov edx, r8d
add ax, word [0x180b2e420]
mov rcx, qword [rbp - 0x70]
sub rcx, qword [0x180052828]
mov word [0x18005273c], ax
movsx rax, byte [0x18005272d]
imul rcx, rax
mov rax, qword [0x1800527b8]
test rcx, rcx
mov ecx, r8d
sete dl
test rax, rax
sete cl
sub ecx, edx
not ecx
movsxd rax, ecx
mov qword [rbp - 0x40], rax
mov eax, dword [rsp + 0x58]
xor edx, edx
add eax, 0x579
mov qword [rsp + 0x20], rdx
mov dword [rsp + 0x6c], eax
mov edx, 0x8d
mov al, byte [0x1800526ee]
xor ecx, ecx
sub al, 1
mov byte [0x1800526ee], al
mov eax, dword [rsp + 0x58]
lea r9d, [rdx - 0x29]
add eax, 0xb01b
mov dword [rsp + 0x78], eax
movsx r8, byte [0x1800526ee]
call fcn.180024b5c
mov qword [rbp], rax
test rax, rax
jns 0x180021d58
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x180021d58
mov rcx, qword [rbp - 0x40]
add rcx, 0xf0c3
mov qword [0x1800527d0], rcx
mov rdx, qword [0x180052800]
movsxd rcx, dword [rbp - 0x28]
sub rdx, rcx
mov qword [0x180052800], rdx
mov eax, dword [rsp + 0x58]
mov r10d, 4
movsx edx, word [rsp + 0x74]
add eax, 0x6502
mov dword [rsp + 0x78], eax
movsx eax, byte [0x18005271e]
sub eax, 0xffffff80
mov dword [rbp - 0x28], r10d
cdqe
mov qword [0x1800527e0], rax
lea eax, [r10 - 3]
movzx ecx, byte [0x1800526ea]
add ax, cx
cwde
imul edx, eax
mov eax, dword [rsp + 0x64]
cmp qword [0x180052830], rax
mov dword [rsp + 0x74], edx
je 0x180021f5d
mov r9d, 0xed
lea r8d, [r10 + 0x36]
mov edx, r10d
xor ecx, ecx
call fcn.1800243a8
mov byte [0x18005271b], al
xor r8d, r8d
mov al, byte [0x18005271b]
test al, al
je 0x180021ebf
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x180021e0c
mov rax, qword [rbp - 0x18]
movabs rdx, 0xa84d3f833fe2a
mov ecx, dword [0x1800527fc]
add rax, rdx
add rax, rcx
mov ecx, dword [rsp + 0x74]
mov qword [rbp - 0x18], rax
sub sil, cl
jmp 0x180021f58
movsx rcx, word [0x18005274c]
mov rax, qword [rbp - 0x68]
cmp rax, rcx
ja 0x180021e38
movsxd rax, dword [0x180052704]
movsx r8, byte [0x18005271f]
xor r8, rax
mov qword [rbp], r8
jmp 0x180021f54
movsx rax, byte [0x1800526ee]
mov rdx, qword [0x1800527e0]
add rdx, rax
movzx eax, word [0x180052814]
cmp rax, rdx
jae 0x180021e8e
movsx ecx, word [0x18005273c]
movzx eax, word [rsp + 0x68]
add ecx, 0xffffdfe7
xor ax, cx
cmp qword [0x180052828], r8
mov word [rsp + 0x68], ax
mov eax, 4
cmovne eax, dword [0x180052800]
mov dword [0x1800527dc], eax
jmp 0x180021f54
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x180021f54
cmp dword [0x180052808], r8d
mov ecx, dword [rsp + 0x74]
jne 0x180021f58
movzx eax, r13b
and eax, 0x77
mov qword [0x180052800], rax
jmp 0x180021f58
test sil, sil
je 0x180021eeb
movzx eax, word [0x180052810]
movabs rcx, 0x3b90278bbbf42
and rax, rcx
mov qword [rbp - 0x80], rax
mov eax, dword [0x1800527fc]
add qword [0x180052830], rax
jmp 0x180021f54
mov al, byte [0x180052703]
test al, al
jne 0x180021f1c
mov rax, qword [rbp - 0x68]
neg rax
sbb cx, cx
and cx, word [0x1800527f0]
imul eax, r12d, 0x17719d5a
mov word [0x18005274c], cx
mov dword [0x1800527e8], eax
jmp 0x180021f54
movsx rcx, byte [0x1800526ee]
mov rax, qword [rbp - 0x50]
cmp rax, rcx
jbe 0x180021f54
mov eax, dword [0x1800527c8]
test eax, eax
mov eax, dword [0x180052820]
jne 0x180021f41
mov eax, dword [rsp + 0x60]
mov word [0x18005273c], ax
imul eax, edi, 0x466a
mov dword [0x180052704], eax
mov ecx, dword [rsp + 0x74]
movsx edx, cx
jmp 0x180021f72
movsx edx, dx
cmp r14d, edx
jbe 0x180021f72
mov eax, dword [rsp + 0x64]
sub eax, 0xe9c5
mov qword [rbp - 0x68], rax
mov eax, dword [rbp - 0x20]
xor edi, edi
mov eax, dword [rsp + 0x6c]
add eax, 0x372f
xor eax, 0x3ea6
mov dword [rsp + 0x6c], eax
test ebx, ebx
je 0x180022141
mov rax, qword [0x1800527e0]
mov r9d, Ordinal_138
mov r14d, dword [rsp + 0x64]
not eax
mov r8, qword [0x1800527d0]
add r14d, eax
mov al, byte [0x180890880]
not r14d
add r14d, edx
mov byte [0x1800526eb], al
xor edx, edx
lea ecx, [r9 + 3]
call fcn.1800243a8
mov byte [0x1800526ea], al
mov al, byte [0x1800526ea]
test al, al
je 0x180022009
mov ecx, dword [0x1800527fc]
mov eax, dword [0x1800527e8]
add ecx, eax
mov r8d, dword [rsp + 0x70]
not ecx
mov dword [rsp + 0x60], ecx
movzx ecx, byte [0x1800526ef]
sub rcx, 0xd7c
mov qword [rbp - 0x50], rcx
jmp 0x18002202d
movzx ecx, byte [0x18005271b]
movzx r8d, byte [rsp + 0x70]
cmp word [0x1800527cc], cx
movzx eax, byte [0x18005272d]
cmove r8d, eax
mov dword [rsp + 0x70], r8d
mov eax, dword [0x180890880]
mov edx, r14d
mov dword [rsp + 0x58], eax
xor edx, 0x9a8eb4a7
movsxd rax, dword [0x1800527d8]
not edx
imul rdx, rax
mov eax, dword [0x1800527fc]
imul rdx, qword [0x180052830]
sub eax, 0x7ce68aa9
add rdx, rax
mov rax, qword [rbp - 0x50]
movsx rcx, word [rsp + 0x5c]
sub rdx, rax
mov eax, edi
add rcx, rdx
sete al
mov dword [0x18005280c], eax
mov eax, dword [rsp + 0x58]
add eax, 0x628
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x58]
add eax, 0x525
mov dword [rsp + 0x78], eax
mov eax, dword [0x180052824]
cmp rax, qword [rbp - 0x40]
jne 0x1800220bc
mov rax, qword [0x1800527f0]
test rax, rax
je 0x1800220bc
movzx eax, r8b
imul rcx, rax, 0x5e
mov qword [rbp - 0x80], rcx
mov eax, dword [rsp + 0x58]
add eax, 0x7ca
mov dword [rbp - 0x20], eax
mov eax, dword [rsp + 0x6c]
imul ecx, eax, 0x1bf
mov eax, dword [rsp + 0x78]
cmp eax, ecx
je 0x180022141
mov edx, 0xd8
lea ecx, [rdx - 0x33]
call fcn.180024070
mov word [0x18005274c], ax
mov edx, edi
movzx eax, word [0x18005274c]
mov ecx, edi
cmp ax, 0x56
movzx eax, word [0x18005274c]
setg dl
test ax, ax
setg cl
cmp ecx, edx
jbe 0x180022141
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x180022141
mov rcx, qword [0x1800527e0]
movzx eax, word [rbp - 8]
imul rcx, rax
mov qword [0x1800527e0], rcx
mov eax, dword [0x1800527e8]
mov qword [0x180052830], rax
jmp 0x180022141
xor edi, edi
add r15, 8
sub qword [rbp + 0x50], 1
jne 0x180021931
mov ecx, dword [rbp - 0x60]
mov ebx, edi
test ecx, ecx
je 0x1800224ad
mov r13, qword [rbp]
mov r9, qword [rbp - 0x68]
xor r8d, r8d
mov dl, byte [0x18005272d]
mov cl, 0x16
mov byte [rsp + 0x30], 0x17
mov byte [rsp + 0x28], sil
mov byte [rsp + 0x20], 0x20
call fcn.180024268
mov r15, qword [rbp - 0x40]
movzx eax, al
mov dword [0x180052808], eax
test eax, eax
je 0x1800221a2
lea eax, [r12 + 0x74]
mov byte [0x18005271e], al
jmp 0x1800221d7
mov byte [0x1800526eb], al
movzx eax, byte [0x1800526ef]
mov rcx, qword [0x1800527f0]
add eax, 0xfffffff0
imul edx, r13d, 0xf2b1b05c
imul ecx, r15d
not edx
add ecx, 0x3e12d6ba
add eax, edx
imul ecx, eax
mov dword [0x180052824], ecx
cmp word [0x1800527f8], di
mov eax, dword [0x180890880]
mov dword [rsp + 0x58], eax
je 0x180022208
mov rax, qword [0x1800527b8]
cmp rax, qword [rbp - 0x70]
je 0x180022208
mov dword [0x1800527b4], 0x4dfa0ee0
mov byte [0x18005271f], 0x64
mov eax, dword [rsp + 0x58]
xor r8d, r8d
add eax, 0x826
mov byte [rsp + 0x30], dil
mov dword [rsp + 0x6c], eax
mov dl, 0x25
movsx rcx, word [0x18005271c]
mov rax, qword [0x1800527d0]
sub cx, ax
mov byte [rsp + 0x28], dil
mov word [0x18005271c], cx
mov eax, dword [rsp + 0x58]
add eax, 0x88e
mov dword [rsp + 0x78], eax
mov r9, qword [0x180052800]
mov al, byte [0x1800526ef]
mov cl, byte [0x18005271b]
mov byte [rsp + 0x20], al
call fcn.180024268
cmp byte [0x18005272d], 0xe7
movzx eax, al
mov qword [rbp - 0x18], rax
je 0x1800222a1
movsx edx, word [rsp + 0x54]
mov ecx, 0x2ae0
movzx eax, word [rbp - 0x10]
movsx ecx, cx
imul edx, ecx
mov word [rsp + 0x54], dx
mov rcx, qword [0x1800527b8]
imul rcx, rax
mov qword [0x1800527b8], rcx
mov eax, dword [rsp + 0x58]
add eax, 0x5e0
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x7c]
add ecx, 0x237
cmp ecx, eax
je 0x1800224a0
movsx r13, word [0x18005273c]
xor r8d, r8d
add r13, qword [0x1800527c0]
mov rax, qword [rbp + 0x28]
add r13, qword [0x180052830]
mov edi, ebx
mov rax, qword [rax + rdi*8]
cmp dword [rax + 0x10c], r8d
jbe 0x18002249e
movsx eax, byte [0x1800526ee]
mov edx, r8d
cmp eax, dword [0x1800527b4]
mov ecx, r8d
mov al, byte [0x1800526ee]
setl dl
cmp al, 0x60
setl cl
cmp edx, ecx
jbe 0x180022357
mov eax, dword [0x1800527e8]
test eax, eax
jne 0x180022357
test r15, r15
je 0x180022357
mov rcx, qword [0x1800527c0]
movsx rax, word [rsp + 0x74]
not rcx
cmp rcx, rax
jge 0x180022357
cmp dword [0x180052824], r8d
je 0x18002234b
mov eax, r14d
jmp 0x180022350
movsx eax, word [rsp + 0x68]
mov qword [0x1800527d0], rax
mov qword [rsp + 0x40], r8
lea rdx, [rbp + 0x60]
mov qword [rsp + 0x38], r8
lea rcx, [fcn.18002e070]
mov qword [rsp + 0x30], r8
mov r9d, 0x2000
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
call fcn.18000c2e8
xor edx, edx
cmp byte [rbp - 0x5c], dl
jne 0x1800223bd
mov rax, qword [rbp + 0x28]
lea r8, [rbp + 0x60]
mov rcx, qword [rbp - 0x38]
mov r9d, 0x400
mov rdx, qword [rax + rdi*8]
mov rax, qword [rbp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
mov rdx, qword [rdx]
call fcn.180016808
mov eax, dword [rsp + 0x6c]
xor edi, edi
imul ecx, eax, 0x19f
mov eax, dword [rsp + 0x78]
cmp ecx, eax
je 0x1800224a0
lea eax, [rdi + 1]
mov qword [0x1800527f0], rax
movzx eax, word [0x1800527cc]
imul ecx, eax, 0x3c4ea629
mov dword [0x1800527fc], ecx
mov rax, qword [0x1800527f0]
test rax, rax
je 0x18002242c
cmp rax, 1
jne 0x1800224a0
movzx eax, byte [0x1800526ef]
mov rdx, qword [0x1800527b8]
sub rdx, rax
mov rax, qword [0x1800527b8]
or rax, rdx
mov qword [0x1800527b8], rax
jmp 0x1800224a0
mov eax, dword [rsp + 0x60]
mov edx, dword [0x1800527c8]
movsx r9d, byte [0x18005271e]
mov r10b, byte [rbp - 0x70]
movsx r8d, dl
not r10b
sub r10b, al
mov al, r9b
not al
movsx ecx, al
mov rax, qword [rbp - 0x80]
imul r8d, ecx
movsx ecx, byte [0x18005271e]
movsx edx, al
movzx eax, byte [0x1800526ea]
or r8b, r10b
cmp r9d, dword [0x180052824]
sete r9b
imul edx, ecx
add r9b, r8b
add dl, r9b
mov byte [0x18005271f], dl
movsx edx, sil
xor dx, r13w
not dx
add dx, ax
mov word [rbp - 0x10], dx
jmp 0x1800224a0
xor edi, edi
mov ecx, dword [rbp - 0x60]
inc ebx
cmp ebx, ecx
jb 0x180022161
mov r8, qword [rbp - 0x28]
mov eax, 0x3931
add ax, word [0x1800527ec]
xor ebx, ebx
mov word [0x180052814], ax
mov word [0x180052810], r8w
test ecx, ecx
je 0x18002279f
movsx eax, word [rsp + 0x74]
mov r15d, ebx
mov rsi, qword [rbp - 0x40]
sub eax, 0x4820
movzx r12d, byte [rsp + 0x70]
cmp rsi, 0x11
movsxd r13, eax
sete r15b
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x18], r13
mov rax, qword [0x180052818]
mov rcx, rbx
mov rdx, qword [0x1800527c0]
test rax, rax
mov eax, dword [rsp + 0x60]
sete cl
sub rdx, rcx
sub rdx, rax
movsx rax, word [0x18005273c]
mov ecx, dword [0x180052704]
inc rax
add rax, rdx
mov qword [0x180052830], rax
mov eax, dword [rsp + 0x64]
cmp eax, ecx
jne 0x180022553
movsx rax, byte [0x1800526ee]
mov qword [0x1808e1af0], rax
mov eax, dword [0x180890880]
xor edx, edx
xor r9d, r9d
mov dword [rsp + 0x58], eax
lea ecx, [rdx + 0x18]
call fcn.1800243a8
movsx rcx, ax
mov edx, ebx
mov qword [0x1800527e0], rcx
mov ecx, ebx
mov rax, qword [0x1800527e0]
cmp rax, 0x20
mov rax, qword [0x1800527e0]
setne dl
test rax, rax
setne cl
cmp ecx, edx
je 0x18002265c
mov rax, qword [rbp - 0x80]
xor r9d, r9d
mov rdx, qword [rbp - 0x70]
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x3c]
call fcn.180024b5c
cmp al, 0x29
mov edx, ebx
mov ecx, ebx
setle dl
test al, al
setle cl
cmp ecx, edx
jne 0x180022670
mov r9d, dword [rsp + 0x50]
mov edx, ebx
movsx eax, word [0x18005273c]
movzx r8d, r9b
cmp r8d, eax
mov eax, ebx
sete dl
cmp r9b, 0x35
sete al
cmp edx, eax
jae 0x180022643
movsx edx, word [rsp + 0x5c]
mov ecx, ebx
mov rbx, qword [rbp + 8]
imul eax, r8d, 0x8be4
mov r8, qword [rbp - 0x18]
mov dword [0x1800527b4], eax
movsx eax, word [rsp + 0x68]
sub eax, edx
cdqe
sub r8, rax
mov eax, dword [0x1800527c8]
mov rdx, qword [0x1800527f0]
test rbx, rbx
sete cl
add ecx, eax
mov rax, qword [rbp - 0x80]
add rdx, rcx
add rax, rdx
imul rax, r8
mov qword [rbp - 0x80], rax
jmp 0x180022674
lea eax, [r14 + 0x28b3c7a2]
mov dword [0x1800527c8], eax
mov eax, dword [0x180890880]
mov qword [rbp - 0x18], rax
jmp 0x180022670
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x180022670
movzx eax, byte [rsp + 0x50]
sub qword [0x180052828], rax
mov rbx, qword [rbp + 8]
mov eax, dword [rsp + 0x58]
xor r9d, r9d
movzx r8d, word [rbp - 0x10]
add eax, 0x761
mov dword [rsp + 0x7c], eax
xor edx, edx
movsx rax, word [0x18005273c]
mov rcx, r12
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x29
call fcn.1800246b4
mov word [0x18005271c], ax
xor r9d, r9d
movzx eax, word [rsp + 0x5c]
mov eax, dword [rsp + 0x58]
add eax, 0x85a
mov qword [0x180052830], r13
mov byte [0x18005271f], 0xf5
mov dword [rsp + 0x6c], eax
mov eax, r9d
movsx rcx, word [rsp + 0x68]
cmp rsi, rcx
sete al
cmp eax, r15d
jae 0x180022709
mov r14d, dword [0x180052830]
movzx eax, bx
mov ecx, 0x524c
sub ax, cx
mov word [0x18005279c], ax
mov eax, 0x155
add word [rbp - 0x10], ax
mov eax, dword [rsp + 0x58]
add eax, 0x8d2
mov dword [rsp + 0x58], eax
mov edx, dword [rsp + 0x58]
mov eax, dword [rsp + 0x7c]
add edx, eax
mov r8d, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x58]
mov eax, dword [rsp + 0x7c]
imul ecx, eax
imul r8d, edx
imul eax, ecx, 0x311
cmp r8d, eax
je 0x18002278b
mov rax, qword [rbp + 0x28]
mov ebx, r9d
mov esi, edi
mov rcx, qword [rax + rsi*8]
cmp dword [rcx + 0x10c], r9d
jbe 0x180022787
mov r12, rax
mov r13d, 1
mov eax, ebx
lea rcx, [rcx + rax*8]
add rcx, 0x110
call fcn.180018e38
mov rcx, qword [r12 + rsi*8]
add ebx, r13d
cmp ebx, dword [rcx + 0x10c]
jb 0x18002275e
mov r12, qword [rbp + 0x58]
mov r13, qword [rbp + 0x18]
mov rsi, qword [rbp - 0x40]
mov r8, qword [rbp - 0x28]
inc edi
mov ebx, 0
cmp edi, dword [rbp - 0x60]
jb 0x180022500
mov rax, qword [0x180052818]
xor eax, eax
mov rcx, qword [rbp + 0x21f0]
xor rcx, rsp
call fcn.18002ca80
lea r11, [rsp + 0x2300]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x30
mov eax, 0xb8a7cb51
xor ebx, ebx
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov dword [rsp + 0x40], 0x9d
mov edx, 0x83
mov dword [rsp + 0x40], 0x5d
xor ecx, ecx
mov eax, dword [0x1800527dc]
movzx eax, word [0x18005273c]
mov rax, qword [0x180052800]
mov qword [rsp + 0x48], Ordinal_115
mov eax, dword [0x180052820]
mov byte [rsp + 0x40], 0xb1
mov byte [rsp + 0x40], 0x9a
movsx rdi, word [0x18005273c]
mov al, byte [0x18005271b]
mov byte [rsp + 0x40], al
movzx eax, word [0x18005271c]
mov al, byte [0x180052824]
mov byte [rsp + 0x40], al
mov rax, qword [0x1800527b8]
movzx eax, word [0x18005273c]
mov byte [rsp + 0x40], Ordinal_138
movabs rax, 0xdaeb15f90ba89
mov byte [rsp + 0x40], 0xd6
mov byte [rsp + 0x40], 0x34
mov byte [rsp + 0x40], 0x8c
mov qword [rsp + 0x40], rax
movsx rax, byte [0x1800526ee]
mov qword [rsp + 0x40], rax
movzx eax, byte [0x18005271b]
mov word [rsp + 0x40], ax
movsx eax, word [0x18005274c]
mov dword [rsp + 0x40], eax
movzx eax, word [0x180052814]
mov dword [rsp + 0x40], eax
mov al, byte [0x180052824]
mov byte [rsp + 0x40], al
mov dword [rsp + 0x40], 0xa
mov dword [rsp + 0x40], 0x8d
movsxd rax, dword [0x1800527dc]
mov qword [rsp + 0x40], rax
movzx eax, word [0x180052810]
mov byte [rsp + 0x40], 0xe9
mov dword [rsp + 0x40], eax
movsx rax, byte [0x18005272d]
mov qword [rsp + 0x40], rax
mov eax, dword [0x180052820]
movzx r9d, word [0x180052814]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x20], 0x3d
call fcn.1800249e4
cmp eax, 0x4e
mov ecx, ebx
setle cl
test eax, eax
setle bl
cmp ebx, ecx
jb 0x180022968
mov rax, qword [rsp + 0x48]
cmp qword [0x1800527c0], rax
ja 0x180022968
movzx ecx, word [0x1800527ec]
mov eax, dword [0x1800527c8]
cmp eax, ecx
ja 0x180022968
mov rax, qword [0x1800527b8]
xor rdi, 0x3dcd
sub rax, rdi
mov qword [0x1800527b8], rax
xor edx, edx
xor ecx, ecx
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
jmp 0x18001f1ec