Function at 0x1800634e0
Capabilities:
Authenticate hmac
Encrypt data using speck
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x938
mov qword [rsp + 0x7a0], 0x8dde
mov rax, qword [0x180146810]
mov word [rsp + 0x54], ax
mov byte [rsp + 0x43], 0x99
mov eax, 0xb290
mov word [rsp + 0x4c], ax
mov eax, 0x366
mov word [rsp + 0x60], ax
mov dword [rsp + 0x64], 0xcdb63328
mov eax, dword [0x180146820]
mov dword [rsp + 0x70], eax
mov byte [rsp + 0x41], 0xdd
movzx eax, word [0x18014681c]
movsx rax, ax
mov qword [rsp + 0x90], rax
mov byte [rsp + 0x42], 0x3e
mov qword [rsp + 0x88], 0x36550ef3
mov rax, qword [0x180146840]
mov byte [rsp + 0x45], al
movzx eax, byte [0x180146722]
movsx rax, al
mov qword [rsp + 0x98], rax
movzx eax, word [0x180146764]
cwde
mov dword [rsp + 0x6c], eax
mov eax, 0x95b5
mov word [rsp + 0x5c], ax
mov eax, 0x914d
mov word [rsp + 0x50], ax
movzx eax, word [0x18014685c]
movsx rax, ax
mov qword [rsp + 0x80], rax
mov eax, dword [0x1801466f4]
mov word [rsp + 0x48], ax
movzx eax, byte [0x1801466f3]
mov byte [rsp + 0x40], al
mov qword [rsp + 0x78], 0x8324
movzx eax, byte [0x1801467d8]
mov byte [rsp + 0x44], al
movzx eax, word [0x180146858]
movzx eax, ax
mov dword [rsp + 0x68], eax
movzx eax, byte [0x180146763]
movzx eax, al
mov word [rsp + 0x58], ax
mov rax, qword [0x180146850]
mov dword [rsp + 0x714], eax
movzx eax, byte [0x180146766]
mov dword [rsp + 0x718], eax
mov rax, qword [0x180146838]
mov qword [rsp + 0x7a8], rax
movzx eax, byte [0x180146721]
movsx eax, al
mov dword [rsp + 0x71c], eax
movzx eax, byte [0x180146721]
movsx eax, al
mov dword [rsp + 0x720], eax
mov rax, qword [0x180146838]
mov dword [rsp + 0x724], eax
mov byte [rsp + 0xf8], 0x89
mov rax, qword [0x180146820]
mov qword [rsp + 0x7b0], rax
movzx eax, byte [0x180146775]
movsx rax, al
mov qword [rsp + 0x7b8], rax
movzx eax, byte [0x180146762]
mov byte [rsp + 0xf9], al
mov eax, dword [0x18014670c]
mov byte [rsp + 0x17c], al
mov eax, 0x6a63
mov word [rsp + 0x590], ax
mov byte [rsp + 0x17e], 0x53
movzx eax, byte [0x180146722]
mov byte [rsp + 0x17d], al
movzx eax, byte [0x180146726]
mov word [rsp + 0x58c], ax
movzx eax, word [0x1801467b4]
mov word [rsp + 0x588], ax
lea rax, [rsp + 0x838]
lea rcx, str.WinHttpConnect
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1e
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x838]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x68], eax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0xfc], eax
movsx eax, byte [rsp + 0x40]
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
cmp eax, ecx
jg 0x180063817
mov r8w, 0xd0
mov dx, 0xab
mov cx, 0x2a
call fcn.18004d700
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x54]
movzx eax, ax
test eax, eax
je 0x180063810
movsx rax, byte [rsp + 0x40]
cmp rax, qword [rsp + 0x98]
jl 0x18006378a
mov dword [0x1801467cc], 0xe43638d2
movzx eax, word [rsp + 0x58]
movsx ecx, byte [0x18014670b]
add eax, ecx
movzx ecx, word [rsp + 0x58]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x58], ax
jmp 0x18006380e
xor eax, eax
cmp eax, 1
je 0x18006380e
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x1800637a7
mov dword [rsp + 0x4b0], 1
jmp 0x1800637b2
mov dword [rsp + 0x4b0], 0
movzx eax, byte [0x180146726]
mov ecx, dword [rsp + 0x4b0]
add ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [0x180146838]
mov rdx, qword [rsp + 0x98]
xor rdx, rcx
mov rcx, rdx
sub rax, rcx
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
movsx edx, byte [rsp + 0x40]
xor ecx, edx
movzx edx, byte [rsp + 0x44]
add edx, 0x32
imul ecx, edx
movsxd rcx, ecx
add rax, rcx
mov dword [rsp + 0x6c], eax
movzx eax, word [0x180976cc0]
mov word [rsp + 0x50], ax
jmp 0x180063815
mov byte [rsp + 0x45], 2
jmp 0x180063829
movzx eax, byte [rsp + 0x41]
movzx eax, al
sub eax, 0xd628cb08
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0xfc]
add eax, 0x3d2
mov dword [rsp + 0x108], eax
movzx eax, word [0x180146848]
cwde
test eax, eax
je 0x18006385b
movzx eax, byte [0x180146763]
movzx eax, al
mov dword [rsp + 0x4b4], eax
jmp 0x180063866
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x4b4], eax
movzx eax, byte [rsp + 0x4b4]
mov byte [0x180146775], al
mov eax, dword [rsp + 0xfc]
add eax, 0x379
mov dword [rsp + 0x728], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x6c7
mov dword [rsp + 0x72c], eax
movzx eax, byte [rsp + 0x43]
mov byte [0x180146721], al
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x100], eax
movzx eax, word [0x180146848]
cwde
shl eax, 2
mov word [rsp + 0x54], ax
mov eax, 0x8dd46582
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x100]
add eax, 0x5ad
mov dword [rsp + 0x11c], eax
movzx eax, byte [0x180146763]
movzx eax, al
movsx ecx, byte [rsp + 0x42]
cmp eax, ecx
jge 0x1800638ff
mov dword [rsp + 0x4bc], 1
jmp 0x18006390a
mov dword [rsp + 0x4bc], 0
movzx eax, byte [0x180146763]
movzx eax, al
cmp eax, 0x1c
jge 0x180063926
mov dword [rsp + 0x4b8], 1
jmp 0x180063931
mov dword [rsp + 0x4b8], 0
mov eax, dword [rsp + 0x4b8]
cmp dword [rsp + 0x4bc], eax
jg 0x180063967
movzx eax, word [rsp + 0x54]
movzx eax, ax
sub eax, 0x67
mov dword [0x1801467f4], eax
mov rax, qword [0x1801467f8]
add rax, 0xc0e5
mov dword [0x1801467f4], eax
jmp 0x180063982
movzx eax, byte [0x180146726]
test eax, eax
jne 0x180063982
mov eax, dword [0x180976cc0]
mov qword [rsp + 0x78], rax
mov byte [rsp + 0x40], 1
mov eax, dword [rsp + 0x100]
add eax, 0x59a
mov dword [rsp + 0x4e0], eax
movzx eax, word [rsp + 0x50]
movzx eax, ax
not eax
cdqe
mov rcx, qword [rsp + 0x78]
not rcx
sub rax, rcx
mov byte [0x180146721], al
mov eax, dword [rsp + 0x100]
add eax, 0x717
mov dword [rsp + 0x730], eax
movzx eax, word [0x18014681c]
cwde
movzx ecx, byte [rsp + 0x45]
movsx ecx, cl
add eax, ecx
movzx ecx, word [0x18014681c]
movsx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [0x18014681c], ax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x104], eax
mov dword [rsp + 0x64], 3
movzx eax, byte [rsp + 0x45]
dec al
mov byte [rsp + 0x45], al
movzx eax, byte [rsp + 0x42]
dec al
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0xec], eax
cmp dword [rsp + 0xec], 0
je 0x180063a53
cmp dword [rsp + 0xec], 1
je 0x180063a71
cmp dword [rsp + 0xec], 2
je 0x180063ab9
cmp dword [rsp + 0xec], 3
je 0x180063b14
jmp 0x180063b2d
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov ecx, dword [0x1801467cc]
imul ecx, eax
mov eax, ecx
mov dword [0x1801467cc], eax
jmp 0x180063b2d
mov rax, qword [0x1801467e8]
add rax, 0x7aed
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x4c], ax
movsx rax, byte [0x180146727]
mov rcx, qword [0x1801467e0]
xor rax, rcx
movsx rcx, byte [0x180146727]
and rcx, rax
mov rax, rcx
mov byte [0x180146727], al
jmp 0x180063b2d
movzx eax, byte [0x180146775]
movsx rax, al
movabs rcx, 0x1b412543672a
add rax, rcx
xor rax, 0x8827
test rax, rax
jne 0x180063ae9
mov dword [rsp + 0x184], 1
jmp 0x180063af4
mov dword [rsp + 0x184], 0
mov eax, dword [rsp + 0x184]
mov dword [0x1801467cc], eax
movsx eax, byte [rsp + 0x42]
xor eax, 0x24
cdqe
mov qword [0x180146840], rax
jmp 0x180063b2d
movsx rax, word [0x180146724]
movabs rcx, 0x7f130106a28b7
add rax, rcx
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x104]
add eax, 0x67f
mov dword [rsp + 0x24c], eax
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x180063c23
movzx eax, word [rsp + 0x4c]
movzx eax, ax
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
cmp eax, ecx
jne 0x180063b72
mov dword [rsp + 0x18c], 1
jmp 0x180063b7d
mov dword [rsp + 0x18c], 0
movzx eax, word [rsp + 0x4c]
movzx eax, ax
cmp eax, 0x28
jne 0x180063b97
mov dword [rsp + 0x188], 1
jmp 0x180063ba2
mov dword [rsp + 0x188], 0
mov eax, dword [rsp + 0x188]
cmp dword [rsp + 0x18c], eax
jne 0x180063bc2
movsx eax, byte [rsp + 0x40]
sub eax, 0x4d
mov dword [0x18014670c], eax
jmp 0x180063c23
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov rcx, qword [0x1801467f8]
xor rax, rcx
not rax
test rax, rax
je 0x180063bee
movsx eax, byte [rsp + 0x40]
imul eax, eax, 0xd2e0d498
mov word [rsp + 0x54], ax
jmp 0x180063c23
movsx eax, byte [0x180146727]
test eax, eax
je 0x180063c23
mov rax, qword [0x180146828]
movsx rcx, byte [0x1801466f3]
movabs rdx, 0xed5a7a7edf324
add rcx, rdx
add rax, rcx
mov byte [0x1801466f3], al
mov byte [rsp + 0x41], 0xaa
mov eax, dword [rsp + 0x104]
add eax, 0x6b8
mov dword [rsp + 0x4f0], eax
movsx rax, word [0x180146724]
movabs rcx, 0x1d8118ef4ea89
sub rax, rcx
mov qword [0x180146820], rax
movsx eax, byte [0x18014670b]
movzx ecx, word [0x180146834]
movsx ecx, cx
sub eax, ecx
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
xor eax, ecx
mov word [0x180146830], ax
mov eax, dword [rsp + 0x104]
add eax, 0x505
mov dword [rsp + 0x4f4], eax
movzx eax, word [rsp + 0x5c]
movzx eax, ax
movabs rcx, 0x99f40eff53e07
imul rax, rcx
movzx ecx, byte [0x180146723]
movzx ecx, cl
sub rcx, rax
mov rax, rcx
mov byte [0x180146723], al
mov dword [rsp + 0xa0], 0
movzx eax, word [rsp + 0x5c]
movzx eax, ax
sub eax, 0xacc10c8
mov byte [rsp + 0x44], al
mov dword [rsp + 0xd4], 0
mov rax, qword [0x180146838]
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
cmp rax, rcx
jl 0x180063d02
movsx rax, byte [0x18014670b]
cmp rax, qword [rsp + 0x98]
jge 0x180063d07
jmp 0x180063e16
movzx eax, byte [rsp + 0x41]
movzx eax, al
test eax, eax
jne 0x180063d21
mov qword [rsp + 0x5c0], 1
jmp 0x180063d2d
mov qword [rsp + 0x5c0], 0
movzx eax, word [rsp + 0x54]
movzx eax, ax
test eax, eax
jne 0x180063d46
mov dword [rsp + 0x190], 1
jmp 0x180063d51
mov dword [rsp + 0x190], 0
movzx eax, byte [0x180146766]
mov rcx, qword [0x1801467e0]
add rcx, rax
mov rax, rcx
not rax
movzx ecx, word [rsp + 0x58]
sub rax, rcx
movabs rcx, 0x8ee6d3bdc0e92
mov rdx, qword [rsp + 0x5c0]
add rdx, rcx
mov rcx, rdx
movzx edx, word [0x180146848]
movsx edx, dx
sub edx, dword [rsp + 0x190]
movsxd rdx, edx
sub rcx, rdx
and rax, rcx
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x68]
test eax, eax
jne 0x180063dbb
mov dword [rsp + 0x194], 1
jmp 0x180063dc6
mov dword [rsp + 0x194], 0
movsx eax, byte [rsp + 0x42]
mov ecx, dword [0x1801467cc]
add eax, ecx
mov ecx, dword [0x1801467f4]
sub ecx, dword [rsp + 0x194]
add eax, ecx
mov eax, eax
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
imul ecx, ecx, 0x5de06641
movsxd rcx, ecx
movzx edx, byte [rsp + 0x41]
movzx edx, dl
not edx
movsxd rdx, edx
sub rdx, qword [0x180146808]
sub rcx, rdx
xor rax, rcx
mov word [0x1801467b4], ax
mov dword [rsp + 0xb8], 0
mov eax, dword [rsp + 0x64]
movsx ecx, byte [rsp + 0x40]
cmp eax, ecx
jne 0x180063e3b
mov dword [rsp + 0x198], 1
jmp 0x180063e46
mov dword [rsp + 0x198], 0
movsx eax, byte [rsp + 0x40]
cmp dword [rsp + 0x198], eax
jl 0x180063e61
mov dword [rsp + 0x1a8], 1
jmp 0x180063e6c
mov dword [rsp + 0x1a8], 0
cmp qword [rsp + 0x90], 0
jne 0x180063e84
mov dword [rsp + 0x19c], 1
jmp 0x180063e8f
mov dword [rsp + 0x19c], 0
movzx eax, byte [rsp + 0x41]
movzx eax, al
cmp eax, dword [rsp + 0x19c]
jle 0x180063ead
mov dword [rsp + 0x1a0], 1
jmp 0x180063eb8
mov dword [rsp + 0x1a0], 0
mov eax, dword [rsp + 0x64]
cmp eax, dword [rsp + 0x1a0]
jne 0x180063ed2
mov dword [rsp + 0x1a4], 1
jmp 0x180063edd
mov dword [rsp + 0x1a4], 0
mov eax, dword [rsp + 0x1a4]
mov ecx, dword [rsp + 0x1a8]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x180063f55
movsx eax, byte [0x1801466df]
test eax, eax
je 0x180063f24
mov rax, qword [rsp + 0x88]
mov ecx, 0xe055f27f
sub rax, rcx
mov rcx, qword [0x1801467e0]
add rcx, rax
mov rax, rcx
mov qword [0x1801467e0], rax
jmp 0x180063f53
cmp qword [0x180146820], 0
je 0x180063f53
mov eax, dword [0x1801466f4]
mov eax, eax
movzx ecx, byte [rsp + 0x45]
movsx rcx, cl
movabs rdx, 0xfff34f297a6a1687
add rcx, rdx
add rax, rcx
mov byte [rsp + 0x45], al
jmp 0x180063f95
movzx eax, byte [rsp + 0x41]
movzx eax, al
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
sub eax, ecx
test eax, eax
jne 0x180063f78
mov dword [rsp + 0x1ac], 1
jmp 0x180063f83
mov dword [rsp + 0x1ac], 0
mov eax, dword [0x1801467cc]
sub eax, dword [rsp + 0x1ac]
mov word [rsp + 0x50], ax
mov dword [rsp + 0x140], 0
movzx eax, word [rsp + 0x58]
cmp dword [rsp + 0x70], eax
jge 0x180063fad
jmp 0x180063fce
mov rax, qword [rsp + 0x88]
mov ecx, 0xcbdfb8ab
sub rax, rcx
mov qword [0x180146840], rax
mov eax, 0x8906
mov word [rsp + 0x50], ax
mov qword [rsp + 0xa8], 0
mov qword [0x180146838], 2
mov eax, 8
imul rax, rax, 0x3b65
lea rcx, [0x180b6bc00]
movzx edx, word [rsp + 0x5c]
movzx edx, dx
sub rdx, qword [rcx + rax]
mov rax, rdx
mov word [rsp + 0x5c], ax
mov rax, qword [0x180146838]
mov qword [rsp + 0x5b0], rax
cmp qword [rsp + 0x5b0], 0
je 0x18006403e
cmp qword [rsp + 0x5b0], 1
je 0x180064052
cmp qword [rsp + 0x5b0], 2
je 0x180064079
jmp 0x180064085
mov eax, dword [0x1801466f4]
imul eax, eax, 0x33c995a3
mov byte [0x180146767], al
jmp 0x180064085
mov dword [rsp + 0x70], 0x1c52
mov rax, qword [rsp + 0x88]
mov rcx, qword [0x180146820]
imul rcx, rax
mov rax, rcx
mov qword [0x180146820], rax
jmp 0x180064085
mov eax, 0xfd
mov word [0x180146834], ax
mov byte [0x1801466f3], 4
movzx eax, byte [rsp + 0x45]
movsx rax, al
movabs rcx, 0x620cb1782c056
imul rax, rcx
mov byte [rsp + 0x41], al
mov rax, qword [0x180146850]
sub rax, 0xe4
mov dword [0x18014684c], eax
movzx eax, byte [0x1801466f3]
mov byte [rsp + 0xc4], al
cmp byte [rsp + 0xc4], 0
je 0x180064103
cmp byte [rsp + 0xc4], 1
je 0x180064120
cmp byte [rsp + 0xc4], 2
je 0x18006413d
cmp byte [rsp + 0xc4], 3
je 0x180064155
cmp byte [rsp + 0xc4], 4
je 0x180064185
jmp 0x1800641f8
movzx eax, word [0x1801467b4]
movzx eax, ax
add eax, 0xd570c3e5
mov eax, eax
mov qword [0x180146840], rax
jmp 0x1800641f8
movzx eax, byte [0x18014673b]
movzx eax, al
mov rcx, qword [rsp + 0x78]
sub rax, rcx
mov byte [0x18014673b], al
jmp 0x1800641f8
mov eax, dword [0x18014684c]
shr eax, 7
mov eax, eax
mov qword [rsp + 0x80], rax
jmp 0x1800641f8
movsx rax, byte [rsp + 0x40]
mov rcx, qword [0x1801467e0]
and rax, rcx
movsx rcx, byte [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x6c]
imul eax, eax, 0xbcd830b5
mov byte [rsp + 0x45], al
jmp 0x1800641f8
movsx eax, byte [0x18014670b]
test eax, eax
jne 0x18006419e
mov qword [rsp + 0x5c8], 1
jmp 0x1800641aa
mov qword [rsp + 0x5c8], 0
mov rax, qword [rsp + 0x78]
xor rax, qword [rsp + 0x5c8]
movzx ecx, byte [0x180146721]
movsx rcx, cl
mov rdx, qword [0x1801467f8]
sub rdx, rcx
mov rcx, rdx
add rax, rcx
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x43]
movabs rcx, 0x7328032d5c41f
imul rax, rcx
movzx ecx, byte [rsp + 0x44]
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x44], al
mov qword [rsp + 0xb0], 0
movsx rax, byte [0x1801466df]
mov rcx, qword [rsp + 0x80]
sub rax, rcx
mov byte [0x1801466df], al
mov rax, qword [0x180146850]
test rax, rax
je 0x1800642d6
mov rax, qword [rsp + 0x88]
mov qword [0x180146840], rax
movzx eax, word [0x180146858]
movzx eax, ax
mov rcx, qword [0x180146808]
xor rcx, rax
mov rax, rcx
test rax, rax
jne 0x180064266
mov qword [rsp + 0x5d0], 1
jmp 0x180064272
mov qword [rsp + 0x5d0], 0
mov rax, qword [rsp + 0x5d0]
mov rcx, qword [0x180146820]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x80]
add rcx, 0x5a23a6a5
mov rdx, qword [rsp + 0x98]
imul rdx, rcx
mov rcx, rdx
sub rax, rcx
test rax, rax
jne 0x1800642bb
mov qword [rsp + 0x5d8], 1
jmp 0x1800642c7
mov qword [rsp + 0x5d8], 0
mov rax, qword [rsp + 0x5d8]
mov qword [0x1801467f8], rax
xor edx, edx
lea rcx, [0x18006eb60]
call fcn.180082490
mov dword [rsp + 0x56c], eax
mov eax, dword [rsp + 0x64]
sub eax, 0xa327d1a4
mov word [rsp + 0x60], ax
mov dword [rsp + 0x570], 0x7530
mov eax, dword [rsp + 0x108]
mov ecx, dword [rsp + 0x108]
sub eax, ecx
mov ecx, dword [rsp + 0x108]
add ecx, 0xc7
cmp eax, ecx
je 0x18006576e
mov eax, dword [0x1801466f4]
mov eax, eax
mov rcx, qword [0x1801467e0]
cmp rax, rcx
je 0x180064385
cmp qword [rsp + 0x98], 0
jne 0x180064356
mov qword [rsp + 0x5e0], 1
jmp 0x180064362
mov qword [rsp + 0x5e0], 0
mov rax, qword [rsp + 0x5e0]
mov rcx, qword [0x1801467d8]
and rcx, rax
mov rax, rcx
sub rax, 0x5f40b82d
mov dword [0x18014673c], eax
jmp 0x1800643cf
movzx eax, byte [0x180146726]
not eax
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
cmp eax, ecx
jg 0x1800643cf
mov eax, dword [0x180976cc0]
mov qword [rsp + 0x80], rax
movzx eax, word [rsp + 0x58]
mov rcx, qword [0x180146810]
imul rcx, rax
mov rax, rcx
mov rcx, qword [0x180146810]
add rcx, rax
mov rax, rcx
mov qword [0x180146810], rax
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0xa0
mov r9d, 8
mov r8d, eax
mov edx, 0x7c
xor ecx, ecx
call fcn.18004d370
mov byte [rsp + 0x45], al
movzx eax, byte [rsp + 0x45]
movsx eax, al
test eax, eax
je 0x1800644d2
movsx eax, byte [0x1801466f3]
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
cmp eax, ecx
jge 0x180064432
mov dword [rsp + 0x1b4], 1
jmp 0x18006443d
mov dword [rsp + 0x1b4], 0
movsx eax, byte [0x1801466f3]
cmp eax, 0xf
jge 0x180064456
mov dword [rsp + 0x1b0], 1
jmp 0x180064461
mov dword [rsp + 0x1b0], 0
mov eax, dword [rsp + 0x1b0]
cmp dword [rsp + 0x1b4], eax
jl 0x1800644a0
movzx eax, word [rsp + 0x48]
movzx eax, ax
mov ecx, dword [rsp + 0x6c]
add eax, ecx
mov word [rsp + 0x48], ax
movzx eax, word [0x1801467b4]
movzx eax, ax
movsx ecx, byte [0x180146727]
add eax, ecx
mov word [0x1801467b4], ax
jmp 0x1800644d2
movsx eax, word [rsp + 0x60]
test eax, eax
je 0x1800644d2
movzx eax, word [0x180146858]
movzx eax, ax
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
sub eax, ecx
movzx ecx, word [0x180146858]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [0x180146858], ax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x10c], eax
movzx eax, word [rsp + 0x54]
movzx eax, ax
sub eax, 0xc2
mov ecx, dword [0x1801467f4]
xor ecx, eax
mov eax, ecx
mov dword [0x1801467f4], eax
mov qword [rsp + 0x98], 0xad36
mov eax, dword [rsp + 0x10c]
add eax, 0x37f
mov dword [rsp + 0x6fc], eax
mov eax, 3
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x48]
movzx eax, ax
imul eax, eax, 0x34
cdqe
mov qword [rsp + 0x80], rax
movsx eax, byte [0x1801466f3]
add eax, 0x9dca1a39
mov byte [rsp + 0x41], al
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov dword [rsp + 0xf0], eax
cmp dword [rsp + 0xf0], 0
je 0x18006458e
cmp dword [rsp + 0xf0], 1
je 0x1800645a6
cmp dword [rsp + 0xf0], 2
je 0x180064618
cmp dword [rsp + 0xf0], 3
je 0x180064627
jmp 0x180064653
movzx eax, byte [0x180146762]
movsx eax, al
sub eax, 0xe3
mov byte [rsp + 0x42], al
jmp 0x180064653
mov eax, dword [0x1801467cc]
not eax
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x1800645c7
mov dword [rsp + 0x1b8], 1
jmp 0x1800645d2
mov dword [rsp + 0x1b8], 0
mov eax, dword [rsp + 0x68]
add eax, dword [rsp + 0x1b8]
movsx ecx, byte [rsp + 0x40]
sub eax, ecx
cdqe
mov qword [rsp + 0x90], rax
movzx eax, byte [0x18014673b]
movzx eax, al
mov rcx, qword [rsp + 0x78]
add rax, rcx
movzx ecx, byte [0x18014673b]
movzx ecx, cl
sub rcx, rax
mov rax, rcx
mov byte [0x18014673b], al
jmp 0x180064653
movzx eax, byte [0x180976cc0]
mov byte [0x180146767], al
jmp 0x180064653
mov eax, 2
imul rax, rax, 0x90b
lea rcx, [0x180b63710]
movsx eax, word [rcx + rax]
movzx ecx, word [0x180146834]
movsx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [0x180146834], ax
mov eax, dword [rsp + 0x10c]
add eax, 0x422
mov dword [rsp + 0x594], eax
movzx eax, word [rsp + 0x54]
movzx eax, ax
test eax, eax
jne 0x18006467f
mov dword [rsp + 0x1bc], 1
jmp 0x18006468a
mov dword [rsp + 0x1bc], 0
movzx eax, byte [rsp + 0x43]
mov ecx, dword [rsp + 0x1bc]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x1800646c0
movzx eax, word [rsp + 0x48]
movzx eax, ax
mov ecx, dword [rsp + 0x70]
not ecx
imul eax, ecx
test eax, eax
je 0x1800646c0
mov dword [rsp + 0x1c4], 1
jmp 0x1800646cb
mov dword [rsp + 0x1c4], 0
mov eax, dword [0x18014670c]
mov eax, eax
movabs rcx, 0xe413b76b43bb9
cmp rax, rcx
jne 0x1800646f0
mov qword [rsp + 0x5e8], 1
jmp 0x1800646fc
mov qword [rsp + 0x5e8], 0
mov rax, qword [0x180146850]
cmp qword [rsp + 0x5e8], rax
jae 0x18006471a
mov dword [rsp + 0x1c0], 1
jmp 0x180064725
mov dword [rsp + 0x1c0], 0
mov eax, dword [rsp + 0x1c0]
not eax
cmp dword [rsp + 0x1c4], eax
jl 0x1800647d9
movzx eax, byte [rsp + 0x43]
movzx ecx, byte [0x180146762]
movsx ecx, cl
cmp eax, ecx
je 0x18006475b
mov dword [rsp + 0x1cc], 1
jmp 0x180064766
mov dword [rsp + 0x1cc], 0
movzx eax, byte [rsp + 0x43]
cmp eax, 0x4f
je 0x18006477d
mov dword [rsp + 0x1c8], 1
jmp 0x180064788
mov dword [rsp + 0x1c8], 0
mov eax, dword [rsp + 0x1c8]
cmp dword [rsp + 0x1cc], eax
jge 0x1800647d7
movzx eax, byte [rsp + 0x43]
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
add eax, ecx
cdqe
movabs rcx, 0x42ef790059442
xor rax, rcx
movsx ecx, word [0x180146724]
mov edx, dword [0x18014673c]
sub edx, ecx
mov ecx, edx
imul ecx, ecx, 0
movsxd rcx, ecx
imul rax, rcx
mov byte [0x180146722], al
jmp 0x1800647f4
xor eax, eax
test eax, eax
je 0x1800647f4
mov rax, qword [rsp + 0x80]
not rax
imul rax, rax, 0x4f
mov byte [0x180146726], al
mov eax, dword [rsp + 0x10c]
add eax, 0x90a1
mov dword [rsp + 0x734], eax
mov qword [0x180146810], 2
movzx eax, word [0x180976cc0]
mov word [0x180146858], ax
movsx eax, word [0x180146724]
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
imul eax, ecx
cdqe
mov ecx, dword [rsp + 0x64]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x80]
imul rcx, rdx
movsx rdx, byte [rsp + 0x40]
sub rcx, rdx
sub rax, rcx
mov byte [0x1801466f3], al
mov rax, qword [0x180146810]
mov qword [rsp + 0x5b8], rax
cmp qword [rsp + 0x5b8], 0
je 0x18006488b
cmp qword [rsp + 0x5b8], 1
je 0x180064895
cmp qword [rsp + 0x5b8], 2
je 0x1800648b9
jmp 0x1800648cf
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x64], eax
jmp 0x1800648cf
movzx eax, word [0x180976cc0]
mov word [0x180146848], ax
mov rax, qword [rsp + 0x98]
add rax, 0x13
mov qword [rsp + 0x80], rax
jmp 0x1800648cf
movzx eax, word [0x1801467f0]
cwde
add eax, 0x51e6
cdqe
mov qword [0x180146828], rax
mov eax, dword [rsp + 0x594]
add eax, 0xb4
mov dword [rsp + 0x5a0], eax
movsxd rax, dword [rsp + 0x70]
cmp rax, qword [0x1801467e8]
jle 0x1800648fd
mov dword [rsp + 0x1d4], 1
jmp 0x180064908
mov dword [rsp + 0x1d4], 0
cmp dword [rsp + 0x70], 0x44
jle 0x18006491c
mov dword [rsp + 0x1d0], 1
jmp 0x180064927
mov dword [rsp + 0x1d0], 0
mov eax, dword [rsp + 0x1d0]
cmp dword [rsp + 0x1d4], eax
jge 0x180064975
movzx eax, word [0x180146834]
cwde
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
imul eax, ecx
movzx ecx, word [0x180146834]
movsx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x180146834], ax
movzx eax, byte [0x180146726]
mov ecx, dword [0x1801467cc]
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x5c], ax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x110], eax
movzx eax, word [rsp + 0x50]
movzx eax, ax
mov qword [rsp + 0x28], 0xad
mov qword [rsp + 0x20], 0
mov r9d, eax
mov r8, qword [0x180146840]
xor edx, edx
xor ecx, ecx
call fcn.18004d110
mov word [rsp + 0x48], ax
movzx eax, word [rsp + 0x48]
movzx eax, ax
test eax, eax
je 0x180064a04
movsx eax, word [0x180146724]
test eax, eax
je 0x180064a02
movzx eax, word [rsp + 0x5c]
movzx eax, ax
test eax, eax
je 0x180064a02
mov rax, qword [0x180146820]
not rax
mov byte [0x180146775], al
mov eax, 1
imul rax, rax, 0x4d
lea rcx, [0x180a04350]
movzx eax, byte [rcx + rax]
mov word [0x1801467f0], ax
jmp 0x180064a3e
mov eax, dword [rsp + 0x6c]
test eax, eax
je 0x180064a21
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x180064a21
mov dword [rsp + 0x1d8], 1
jmp 0x180064a2c
mov dword [rsp + 0x1d8], 0
mov eax, dword [rsp + 0x1d8]
not eax
test eax, eax
je 0x180064a3e
mov byte [rsp + 0x43], 0xce
mov eax, dword [rsp + 0x110]
add eax, 0x43e
mov dword [rsp + 0x598], eax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc6
mov ecx, 0xdf
call fcn.18004d110
mov word [0x180146858], ax
movzx eax, word [0x180146858]
movzx eax, ax
test eax, eax
jne 0x180064af8
movzx eax, byte [0x18014673b]
movzx eax, al
mov qword [rsp + 0x28], 0xc9
mov qword [rsp + 0x20], rax
mov r9, qword [0x1801467e0]
mov r8d, 0x1d
mov edx, 0x54
xor ecx, ecx
call fcn.18004d110
mov byte [0x1801466f3], al
movsx eax, byte [0x1801466f3]
test eax, eax
je 0x180064ad1
jmp 0x180064af6
movzx eax, byte [0x180146775]
movsx eax, al
movsx ecx, byte [rsp + 0x40]
add eax, ecx
movzx ecx, byte [0x180146775]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x180146775], al
jmp 0x180064b6f
mov rax, qword [rsp + 0x90]
not rax
test rax, rax
je 0x180064b21
movzx eax, byte [rsp + 0x45]
movsx eax, al
test eax, eax
je 0x180064b21
mov dword [rsp + 0x1e0], 1
jmp 0x180064b2c
mov dword [rsp + 0x1e0], 0
movzx eax, byte [0x180146775]
movsx eax, al
movsx ecx, byte [rsp + 0x42]
cmp eax, ecx
jg 0x180064b4c
mov dword [rsp + 0x1dc], 1
jmp 0x180064b57
mov dword [rsp + 0x1dc], 0
mov eax, dword [rsp + 0x1dc]
cmp dword [rsp + 0x1e0], eax
jl 0x180064b6f
mov dword [rsp + 0x68], 8
mov eax, dword [rsp + 0x110]
add eax, 0x403
mov dword [rsp + 0x1e4], eax
movsx eax, byte [0x1801466df]
test eax, eax
je 0x180064bbe
movzx eax, word [rsp + 0x48]
movzx eax, ax
sub eax, 0xab5d342
mov byte [0x180146726], al
movzx eax, byte [0x180146766]
movzx ecx, byte [0x18014673b]
movzx ecx, cl
sub eax, ecx
cdqe
mov qword [0x180146840], rax
jmp 0x180064bdb
movzx eax, byte [rsp + 0x44]
movabs rcx, 0xc971a95200a55
and rax, rcx
not rax
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x110]
add eax, 0x3b8
mov dword [rsp + 0x59c], eax
mov rax, qword [0x1801467e0]
sub rax, 0x51
mov qword [0x1801467e8], rax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x598]
mov ecx, dword [rsp + 0x59c]
xor eax, ecx
mov ecx, dword [rsp + 0x1e4]
mov edx, dword [rsp + 0x1e4]
add ecx, edx
mov edx, 0xfffff698
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x5a4], eax
movzx eax, byte [rsp + 0x45]
movsx eax, al
test eax, eax
je 0x180064cb4
movsx eax, word [rsp + 0x60]
test eax, eax
jne 0x180064c5f
mov dword [rsp + 0x1e8], 1
jmp 0x180064c6a
mov dword [rsp + 0x1e8], 0
mov eax, dword [rsp + 0x64]
cdqe
mov rcx, qword [0x1801467d8]
not rcx
movzx edx, byte [rsp + 0x43]
xor rcx, rdx
add rax, rcx
movzx ecx, word [0x180146848]
movsx ecx, cx
mov edx, dword [rsp + 0x1e8]
add edx, ecx
mov ecx, edx
movsxd rcx, ecx
movabs rdx, 0xbc877c93b277e
add rax, rdx
add rax, rcx
mov word [rsp + 0x50], ax
jmp 0x180064cc1
movzx eax, word [0x180146848]
cwde
movsx ecx, byte [rsp + 0x42]
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x114], eax
mov rax, qword [rsp + 0x78]
movzx ecx, byte [rsp + 0x44]
cmp rax, rcx
je 0x180064cea
mov dword [rsp + 0x1f0], 1
jmp 0x180064cf5
mov dword [rsp + 0x1f0], 0
mov rax, qword [rsp + 0x78]
cmp rax, 0x36
je 0x180064d0d
mov dword [rsp + 0x1ec], 1
jmp 0x180064d18
mov dword [rsp + 0x1ec], 0
mov eax, dword [rsp + 0x1ec]
cmp dword [rsp + 0x1f0], eax
jne 0x180064d7f
movsx eax, byte [0x180146767]
mov ecx, dword [rsp + 0x68]
sub eax, ecx
movsx ecx, byte [0x180146767]
add ecx, eax
mov eax, ecx
mov byte [0x180146767], al
movzx eax, word [rsp + 0x58]
test eax, eax
je 0x180064d61
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x5f0], rax
jmp 0x180064d71
movzx eax, word [rsp + 0x5c]
movzx eax, ax
mov qword [rsp + 0x5f0], rax
movzx eax, byte [rsp + 0x5f0]
mov byte [0x180146722], al
mov eax, dword [rsp + 0x114]
add eax, 0x34fe
mov dword [rsp + 0x738], eax
mov eax, 4
imul rax, rax, 0x4a40
lea rcx, [0x180ac99f0]
movsx edx, byte [rsp + 0x40]
xor edx, dword [rcx + rax]
mov eax, edx
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x114]
add eax, 0x5b74
mov dword [rsp + 0x73c], eax
movzx eax, byte [rsp + 0x41]
movzx eax, al
xor r8d, r8d
movzx edx, ax
xor ecx, ecx
call fcn.18004d700
movzx eax, ax
mov qword [rsp + 0x88], rax
xor eax, eax
cmp eax, 0x36
je 0x180064e02
movzx eax, word [0x180146764]
cwde
add eax, 0x4285
mov byte [0x180146766], al
jmp 0x180064e1e
movsx eax, byte [rsp + 0x42]
test eax, eax
je 0x180064e1e
mov rax, qword [0x180146808]
add rax, 0x7d
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0x114]
add eax, 0x10a6
mov dword [rsp + 0x740], eax
mov qword [0x180146838], 0x73
mov rax, qword [rsp + 0x98]
sar rax, 7
mov word [0x180146858], ax
mov rax, qword [rsp + 0x78]
mov r8w, 0xa4
xor edx, edx
movzx ecx, ax
call fcn.18004d700
mov word [0x180146830], ax
movzx eax, word [0x180146830]
test eax, eax
jg 0x180064e82
mov dword [rsp + 0x1f8], 1
jmp 0x180064e8d
mov dword [rsp + 0x1f8], 0
movzx eax, word [0x180146830]
cmp eax, 0x24
jg 0x180064ea6
mov dword [rsp + 0x1f4], 1
jmp 0x180064eb1
mov dword [rsp + 0x1f4], 0
mov eax, dword [rsp + 0x1f4]
cmp dword [rsp + 0x1f8], eax
jg 0x180064f82
movzx eax, byte [0x180146775]
movsx rax, al
movzx ecx, word [0x18014685c]
movsx rcx, cx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
mov r9d, 0xae
mov r8d, 0xe2
mov edx, 0x60
call fcn.18004d370
mov word [0x18014681c], ax
movzx eax, word [0x18014681c]
cwde
test eax, eax
jl 0x180064f66
cmp qword [0x180146820], 0
je 0x180064f3a
movzx eax, word [0x18014685c]
cwde
imul eax, eax, 0x85752dd3
movzx ecx, word [rsp + 0x58]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x58], ax
jmp 0x180064f64
mov rax, qword [0x180146850]
test rax, rax
je 0x180064f64
movzx eax, byte [0x180146723]
movzx eax, al
movabs rcx, 0x6f73e83979c6f
sub rax, rcx
mov qword [0x1801467d8], rax
jmp 0x180064f82
mov rax, qword [rsp + 0x80]
movabs rcx, 0x1607f6958cdd5
sub rax, rcx
mov qword [0x1801467e0], rax
mov dword [rsp + 0x5a8], 0x52b
lea rax, [rsp + 0x140]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, qword [rsp + 0x950]
mov edx, 6
lea rcx, [fcn.18006eab0]
call fcn.180082490
test eax, eax
je 0x18006576e
mov byte [rsp + 0x30], 0xbd
mov byte [rsp + 0x28], 0
movzx eax, byte [0x180146726]
mov byte [rsp + 0x20], al
xor r9d, r9d
xor r8d, r8d
mov dl, 7
movzx ecx, byte [0x180146820]
call fcn.18004dab0
movzx eax, al
mov qword [rsp + 0x98], rax
movsx eax, byte [0x180146727]
test eax, eax
je 0x180065037
movzx eax, byte [rsp + 0x45]
movsx eax, al
test eax, eax
je 0x180065037
mov eax, dword [rsp + 0x6c]
test eax, eax
jne 0x180065069
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov dl, 0xe4
movzx ecx, byte [0x180146830]
call fcn.18004dab0
mov byte [0x18014670b], al
movsx eax, byte [0x18014670b]
jmp 0x18006508a
mov rax, qword [rsp + 0x88]
add rax, qword [rsp + 0x90]
test rax, rax
je 0x18006508a
movzx eax, word [0x180976cc0]
mov word [rsp + 0x48], ax
movzx eax, byte [rsp + 0x43]
mov ecx, dword [rsp + 0x64]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x64]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x64], eax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x118], eax
movsx eax, byte [0x1801466df]
sar eax, 8
cdqe
mov qword [0x180146850], rax
mov eax, 0xdaa7
mov word [0x180146830], ax
mov eax, dword [rsp + 0x5a0]
mov ecx, dword [rsp + 0x118]
add eax, ecx
mov dword [rsp + 0x4dc], eax
movsx rax, byte [0x18014670b]
movzx ecx, word [0x1801467b4]
movzx ecx, cx
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x86
xor edx, edx
call fcn.18004d110
mov byte [rsp + 0x44], al
mov rax, qword [0x180146850]
movzx ecx, byte [0x180146762]
movsx rcx, cl
cmp rax, rcx
ja 0x1800652e0
movzx eax, word [rsp + 0x4c]
movzx ecx, word [0x180146858]
movzx edx, byte [0x1801467e8]
mov byte [rsp + 0x30], dl
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x98]
mov byte [rsp + 0x20], al
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.18004dab0
movzx eax, al
mov qword [0x1801467d8], rax
cmp qword [0x1801467d8], 0
jb 0x18006518a
mov dword [rsp + 0x200], 1
jmp 0x180065195
mov dword [rsp + 0x200], 0
cmp qword [0x1801467d8], 0x19
jb 0x1800651ac
mov dword [rsp + 0x1fc], 1
jmp 0x1800651b7
mov dword [rsp + 0x1fc], 0
mov eax, dword [rsp + 0x1fc]
cmp dword [rsp + 0x200], eax
jne 0x180065268
movzx eax, word [0x18014685c]
movsx rax, ax
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jb 0x1800651ed
mov dword [rsp + 0x208], 1
jmp 0x1800651f8
mov dword [rsp + 0x208], 0
movzx eax, word [0x18014685c]
cwde
cmp eax, 0x5c
jl 0x180065212
mov dword [rsp + 0x204], 1
jmp 0x18006521d
mov dword [rsp + 0x204], 0
mov eax, dword [rsp + 0x204]
cmp dword [rsp + 0x208], eax
je 0x18006524d
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
jmp 0x180065266
movsx eax, byte [0x180146727]
movzx ecx, byte [0x180146763]
movzx ecx, cl
sub eax, ecx
mov byte [0x180146727], al
jmp 0x1800652db
mov rax, qword [0x180146810]
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
cmp rax, rcx
jae 0x180065289
mov dword [rsp + 0x20c], 1
jmp 0x180065294
mov dword [rsp + 0x20c], 0
mov eax, dword [rsp + 0x20c]
not eax
test eax, eax
je 0x1800652db
mov rax, qword [0x180146850]
movabs rcx, 0xfa75311fdd69
add rax, rcx
mov byte [rsp + 0x45], al
movsxd rax, dword [0x18014673c]
imul rax, qword [0x1801467e8]
movsxd rcx, dword [0x18014673c]
and rcx, rax
mov rax, rcx
mov dword [0x18014673c], eax
jmp 0x18006538c
movzx eax, byte [0x180146762]
movsx eax, al
test eax, eax
je 0x180065326
mov rax, qword [0x180146850]
movabs rcx, 0x336d1a039bf4a
sub rax, rcx
mov rcx, qword [0x180146810]
add rcx, rax
mov rax, rcx
mov qword [0x180146810], rax
movzx eax, byte [rsp + 0x43]
sub eax, 0xda
mov dword [rsp + 0x64], eax
jmp 0x18006538c
movsx eax, byte [rsp + 0x40]
test eax, eax
je 0x18006533d
movzx eax, word [0x180146834]
cwde
test eax, eax
je 0x18006533d
jmp 0x18006538c
cmp dword [rsp + 0x70], 0x1e23
je 0x180065354
mov dword [rsp + 0x210], 1
jmp 0x18006535f
mov dword [rsp + 0x210], 0
mov eax, dword [rsp + 0x210]
not eax
test eax, eax
je 0x18006538c
movzx eax, byte [rsp + 0x41]
movzx eax, al
shl eax, 6
cdqe
mov qword [rsp + 0x88], rax
mov qword [0x180146838], 1
mov eax, dword [rsp + 0x5a4]
mov ecx, dword [rsp + 0x118]
add eax, ecx
mov dword [rsp + 0x4d8], eax
movsx rax, word [rsp + 0x60]
mov qword [rsp + 0x28], 0x36
mov qword [rsp + 0x20], 0xca
mov r9, rax
mov r8d, 0xa1
mov edx, 0xf
mov ecx, 0x41
call fcn.18004d110
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x180065453
mov qword [rsp + 0x88], 0
movzx eax, byte [0x180976cc0]
mov byte [0x1801466f3], al
mov rax, qword [0x1801467e8]
inc rax
mov qword [0x1801467e8], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x748], rax
cmp qword [rsp + 0x748], 0
je 0x18006542f
jmp 0x18006544e
movabs rax, 0x7d0d3baabfaff
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
mov qword [0x1801467e8], rax
jmp 0x180065611
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x180065469
mov dword [rsp + 0x214], 1
jmp 0x180065474
mov dword [rsp + 0x214], 0
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x214]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x1800654af
movzx eax, word [rsp + 0x4c]
movzx eax, ax
add eax, 0x65b3fd9c
cdqe
mov rcx, qword [0x1801467e8]
sub rcx, rax
mov rax, rcx
mov qword [0x1801467e8], rax
jmp 0x180065611
movzx eax, word [rsp + 0x54]
movzx eax, ax
test eax, eax
je 0x180065611
mov rax, qword [rsp + 0x88]
test rax, rax
jne 0x1800654d9
mov dword [rsp + 0x218], 1
jmp 0x1800654e4
mov dword [rsp + 0x218], 0
movsx eax, word [0x180146724]
cmp eax, dword [rsp + 0x218]
jl 0x180065501
mov dword [rsp + 0x21c], 1
jmp 0x18006550c
mov dword [rsp + 0x21c], 0
mov eax, dword [rsp + 0x21c]
not eax
test eax, eax
je 0x180065611
mov eax, dword [0x18014670c]
mov eax, eax
movabs rcx, 0x68310703ad7be
sub rax, rcx
mov word [rsp + 0x48], ax
movzx eax, word [rsp + 0x5c]
movzx eax, ax
movzx ecx, word [rsp + 0x58]
and eax, ecx
test eax, eax
jne 0x180065557
mov dword [rsp + 0x220], 1
jmp 0x180065562
mov dword [rsp + 0x220], 0
movzx eax, byte [0x180146722]
movsx eax, al
mov ecx, dword [rsp + 0x6c]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x220]
xor ecx, eax
mov eax, ecx
test eax, eax
jne 0x180065590
mov dword [rsp + 0x22c], 1
jmp 0x18006559b
mov dword [rsp + 0x22c], 0
movzx eax, byte [rsp + 0x41]
movzx eax, al
test eax, eax
jne 0x1800655b4
mov dword [rsp + 0x224], 1
jmp 0x1800655bf
mov dword [rsp + 0x224], 0
movzx eax, word [0x180146848]
cwde
mov ecx, dword [0x1801466f4]
mov edx, dword [rsp + 0x224]
add edx, eax
mov eax, edx
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x1800655ed
mov dword [rsp + 0x228], 1
jmp 0x1800655f8
mov dword [rsp + 0x228], 0
mov eax, dword [rsp + 0x228]
mov ecx, dword [rsp + 0x22c]
sub ecx, eax
mov eax, ecx
mov word [0x18014681c], ax
mov eax, dword [rsp + 0x5a8]
mov ecx, dword [rsp + 0x118]
add eax, ecx
mov dword [rsp + 0x230], eax
mov eax, dword [rsp + 0x230]
mov ecx, dword [rsp + 0x4d8]
sub eax, ecx
mov ecx, dword [rsp + 0x230]
mov edx, dword [rsp + 0x4dc]
add ecx, edx
cmp eax, ecx
je 0x18006576e
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x180065677
movzx eax, word [0x180146858]
movzx eax, ax
movzx ecx, word [0x180146834]
movsx ecx, cx
add eax, ecx
mov word [0x180146858], ax
jmp 0x1800656b3
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1800656b3
movsx eax, word [rsp + 0x60]
mov ecx, dword [rsp + 0x68]
add eax, ecx
not eax
mov byte [rsp + 0x44], al
movsx eax, byte [0x180146727]
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
sub eax, ecx
movsx ecx, byte [0x180146727]
sub ecx, eax
mov eax, ecx
mov byte [0x180146727], al
movzx eax, word [0x180146764]
cwde
movzx ecx, byte [0x180146766]
cmp eax, ecx
jge 0x1800656d3
mov dword [rsp + 0x238], 1
jmp 0x1800656de
mov dword [rsp + 0x238], 0
movzx eax, word [0x180146764]
cwde
cmp eax, 0x16
jge 0x1800656f8
mov dword [rsp + 0x234], 1
jmp 0x180065703
mov dword [rsp + 0x234], 0
mov eax, dword [rsp + 0x234]
cmp dword [rsp + 0x238], eax
jge 0x180065715
jmp 0x180065762
mov eax, dword [0x18014670c]
test eax, eax
je 0x18006572e
mov eax, dword [0x1801467cc]
mov dword [rsp + 0x23c], eax
jmp 0x180065739
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x23c], eax
movzx eax, word [rsp + 0x23c]
mov word [rsp + 0x48], ax
movzx eax, byte [0x180146722]
movsx rax, al
movabs rcx, 0x529f513bfd137
sub rax, rcx
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0xa0]
jmp 0x18006c283
call fcn.18002f030
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x11c]
imul eax, eax, 0x1f4
mov ecx, dword [rsp + 0x11c]
xor ecx, 0x30c
imul eax, ecx
mov ecx, dword [rsp + 0x11c]
mov edx, dword [rsp + 0x4e0]
add ecx, edx
xor ecx, 0x19a
cmp eax, ecx
je 0x180065bad
cmp dword [rsp + 0xa0], 0xea
je 0x180065bad
movsx eax, byte [0x180146727]
sar eax, 8
mov word [0x180146858], ax
movsx eax, byte [rsp + 0x40]
movzx ecx, word [rsp + 0x5c]
movzx ecx, cx
sub eax, ecx
movsx ecx, byte [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x40], al
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x120], eax
movsx eax, word [rsp + 0x60]
test eax, eax
je 0x180065818
movzx eax, word [rsp + 0x5c]
mov word [rsp + 0xc0], ax
jmp 0x180065825
movzx eax, word [rsp + 0x48]
mov word [rsp + 0xc0], ax
movzx eax, word [rsp + 0xc0]
mov qword [0x180146808], rax
movzx eax, byte [0x180146721]
movsx eax, al
add eax, 0x71
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x120]
add eax, 0x72b
mov dword [rsp + 0x4e8], eax
movzx eax, word [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jne 0x1800658aa
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov rcx, qword [rsp + 0x80]
sub rax, rcx
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x41], al
movsx rax, byte [0x180146767]
mov rcx, qword [0x180146850]
xor rax, rcx
mov byte [0x180146767], al
jmp 0x18006592d
movzx eax, word [rsp + 0x48]
movzx eax, ax
test eax, eax
jne 0x1800658c3
mov dword [rsp + 0x240], 1
jmp 0x1800658ce
mov dword [rsp + 0x240], 0
movzx eax, byte [0x180146721]
movsx eax, al
cmp eax, dword [rsp + 0x240]
jle 0x1800658ef
mov qword [rsp + 0x5f8], 1
jmp 0x1800658fb
mov qword [rsp + 0x5f8], 0
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x5f8]
jl 0x18006592d
movzx eax, byte [0x180146763]
movzx eax, al
imul eax, eax, 0x42
mov byte [0x180146721], al
movzx eax, word [rsp + 0x50]
dec ax
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x120]
add eax, 0x40b
mov dword [rsp + 0x4e4], eax
movsx eax, byte [rsp + 0x42]
movsx ecx, byte [rsp + 0x40]
cmp eax, ecx
je 0x180065a19
movzx eax, word [rsp + 0x48]
mov byte [rsp + 0x30], 0x79
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0xff
xor r9d, r9d
movzx r8d, byte [rsp + 0x41]
movzx edx, al
movzx ecx, byte [rsp + 0x43]
call fcn.18004dab0
movzx eax, al
mov qword [0x180146838], rax
cmp qword [0x1801467e8], 0
jne 0x1800659b6
movzx eax, byte [0x180146762]
movsx eax, al
mov ecx, dword [0x18014673c]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x18014673c]
sub ecx, eax
mov eax, ecx
mov dword [0x18014673c], eax
jmp 0x180065a17
movzx eax, byte [0x180146763]
movzx eax, al
movsx ecx, byte [0x180146767]
cmp eax, ecx
jne 0x180065a17
mov rax, qword [0x180146800]
sub rax, 0x2c38bd6
movzx ecx, word [0x180146764]
movsx rcx, cx
sub rcx, rax
mov rax, rcx
mov word [0x180146764], ax
mov rax, qword [0x1801467f8]
movabs rcx, 0xcb8a772c74205
sub rax, rcx
movsxd rcx, dword [0x18014673c]
sub rcx, rax
mov rax, rcx
mov dword [0x18014673c], eax
jmp 0x180065a89
mov eax, dword [0x1801466f4]
test eax, eax
je 0x180065a3a
mov eax, dword [0x1801467cc]
test eax, eax
jne 0x180065a3a
mov dword [rsp + 0x244], 1
jmp 0x180065a45
mov dword [rsp + 0x244], 0
movzx eax, word [rsp + 0x50]
movzx eax, ax
cmp dword [rsp + 0x244], eax
jle 0x180065a63
mov dword [rsp + 0x248], 1
jmp 0x180065a6e
mov dword [rsp + 0x248], 0
mov eax, dword [rsp + 0x248]
not eax
test eax, eax
je 0x180065a89
mov eax, dword [0x180976cc0]
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0x120]
add eax, 0x360
mov dword [rsp + 0x4ec], eax
mov eax, dword [rsp + 0x4e4]
mov ecx, dword [rsp + 0x4e8]
add eax, ecx
mov ecx, dword [rsp + 0x4ec]
sub ecx, eax
mov eax, ecx
cmp eax, 0x19d
je 0x180065bad
movzx eax, word [rsp + 0x58]
dec ax
mov word [rsp + 0x58], ax
mov byte [rsp + 0x45], 0xdd
movsxd rax, dword [rsp + 0x70]
cmp qword [rsp + 0x98], rax
jne 0x180065b5b
mov qword [rsp + 0x90], 1
movsx eax, word [rsp + 0x60]
sub eax, 0xb2
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x750], rax
cmp qword [rsp + 0x750], 0
je 0x180065b1a
jmp 0x180065b59
mov eax, dword [rsp + 0x68]
cdqe
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [0x180146838], rax
mov rax, qword [rsp + 0x98]
not rax
mov rcx, qword [rsp + 0x88]
sub rax, rcx
mov rcx, qword [0x180146838]
or rax, rcx
mov byte [rsp + 0x42], al
jmp 0x180065ba1
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x180065ba1
movzx eax, word [0x180976cc0]
mov word [0x180146848], ax
movzx eax, word [0x180146858]
movzx eax, ax
mov rcx, qword [0x1801467e0]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x1801467e0]
add rcx, rax
mov rax, rcx
mov qword [0x1801467e0], rax
mov eax, dword [rsp + 0xa0]
jmp 0x18006c283
mov rax, qword [rsp + 0x78]
dec rax
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0xb8]
mov ecx, eax
call fcn.1801000f0
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x24c]
sub eax, 0x182
mov ecx, dword [rsp + 0x24c]
sub eax, ecx
mov ecx, dword [rsp + 0x4f0]
mov edx, dword [rsp + 0x4f4]
xor ecx, edx
cmp eax, ecx
je 0x180065e2b
mov eax, dword [rsp + 0x6c]
cdqe
movabs rcx, 0xd99785ec266af
add rax, rcx
mov byte [rsp + 0x42], al
mov eax, 1
imul rax, rax, 0x66fc
lea rcx, [0x180977530]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x41], al
cmp qword [rsp + 0xa8], 0
jne 0x180065e2b
mov eax, 0x44
mov word [0x180146834], ax
movzx eax, word [0x180146848]
movsx rax, ax
imul rax, qword [rsp + 0x98]
mov qword [rsp + 0x78], rax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x124], eax
mov eax, dword [rsp + 0x124]
add eax, 0x581
mov dword [rsp + 0x4fc], eax
mov qword [rsp + 0x28], 0xa
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [0x180146840]
mov ecx, 0x6c
call fcn.18004d110
mov word [rsp + 0x4c], ax
movzx eax, word [rsp + 0x4c]
movzx eax, ax
test eax, eax
je 0x180065cea
movzx eax, word [0x1801467f0]
cwde
add eax, 0x26
movzx ecx, byte [rsp + 0x45]
movsx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x45], al
mov eax, dword [rsp + 0x64]
add eax, 0x8b
mov word [0x180146858], ax
jmp 0x180065d10
mov rax, qword [0x1801467e0]
test rax, rax
je 0x180065d10
mov rax, qword [0x180146838]
sar rax, 3
mov byte [0x180146727], al
movzx eax, byte [rsp + 0x44]
mov byte [rsp + 0x45], al
mov eax, dword [rsp + 0x124]
add eax, 0x578
mov dword [rsp + 0x4f8], eax
mov eax, dword [rsp + 0x124]
add eax, 0x65a
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0xf4]
mov ecx, dword [rsp + 0x4f8]
sub eax, ecx
mov ecx, dword [rsp + 0x4fc]
mov edx, dword [rsp + 0xf4]
imul ecx, edx
mov edx, dword [rsp + 0xf4]
mov edi, dword [rsp + 0xf4]
or edx, edi
imul ecx, edx
cmp eax, ecx
je 0x180065e2b
movzx eax, byte [0x180146763]
movzx eax, al
movsx ecx, byte [rsp + 0x40]
add eax, ecx
movsx ecx, byte [0x18014670b]
add eax, ecx
mov ecx, dword [0x18014673c]
not ecx
xor ecx, dword [rsp + 0x70]
movzx edx, word [0x180146834]
movsx edx, dx
mov edi, dword [rsp + 0x68]
sub edi, edx
mov edx, edi
xor ecx, edx
not ecx
imul eax, ecx
mov byte [rsp + 0x44], al
lea rax, [rsp + 0x858]
lea rcx, [0x180110760]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x858]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [rsp + 0x41], al
mov dword [rsp + 0xa0], 0xe
lea rax, [rsp + 0x7c0]
lea rcx, [0x180110788]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x7c0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x18014685c], ax
mov eax, dword [rsp + 0xa0]
jmp 0x18006c283
lea rax, [rsp + 0x140]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0xb8]
mov r8, qword [rsp + 0xa8]
mov edx, 1
mov rcx, qword [rsp + 0x950]
call fcn.18006eab0
test eax, eax
jne 0x18006718d
movzx eax, word [rsp + 0x58]
movzx ecx, byte [0x180146721]
movsx rcx, cl
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
mov r9d, 0x16
mov r8, rcx
mov rdx, qword [0x1801467d8]
xor ecx, ecx
call fcn.18004d110
mov byte [rsp + 0x40], al
movsx eax, byte [rsp + 0x40]
test eax, eax
je 0x180065eeb
movzx eax, word [rsp + 0x58]
test eax, eax
jne 0x180065ec8
mov qword [rsp + 0x600], 1
jmp 0x180065ed4
mov qword [rsp + 0x600], 0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x600]
xor rcx, rax
mov rax, rcx
mov byte [rsp + 0x42], al
mov byte [0x1801466df], 4
mov qword [rsp + 0x90], 0x4816a1c7
movzx eax, word [0x1801467f0]
cwde
mov ecx, dword [rsp + 0x6c]
imul eax, ecx
movzx ecx, word [0x1801467f0]
movsx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x1801467f0], ax
movzx eax, byte [0x1801466df]
mov byte [rsp + 0xe4], al
cmp byte [rsp + 0xe4], 0
je 0x180065f5a
cmp byte [rsp + 0xe4], 1
je 0x180065f86
cmp byte [rsp + 0xe4], 2
je 0x180065f97
cmp byte [rsp + 0xe4], 3
je 0x180065fb6
jmp 0x180065fc7
movzx eax, word [0x180146858]
movzx eax, ax
movzx ecx, byte [0x180146775]
movsx ecx, cl
not ecx
or eax, ecx
not eax
cdqe
mov qword [0x180146828], rax
mov byte [0x180146727], 8
jmp 0x180065fc7
movzx eax, byte [rsp + 0x44]
xor eax, 0x11f2
mov word [rsp + 0x5c], ax
jmp 0x180065fc7
movzx eax, word [rsp + 0x54]
movzx eax, ax
add eax, 0xa0066a12
mov ecx, dword [0x18014670c]
sub ecx, eax
mov eax, ecx
mov dword [0x18014670c], eax
jmp 0x180065fc7
movabs rax, 0x4941e42f3cb31
mov qword [0x180146838], rax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x128], eax
movzx eax, byte [0x180146722]
movsx eax, al
test eax, eax
jne 0x180065fef
mov dword [rsp + 0x250], 1
jmp 0x180065ffa
mov dword [rsp + 0x250], 0
movsx eax, byte [0x1801466f3]
imul eax, dword [rsp + 0x250]
cdqe
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
imul rcx, qword [0x180146808]
movsx edx, byte [rsp + 0x40]
movsx edi, byte [rsp + 0x42]
sub edx, edi
movsxd rdx, edx
add rcx, rdx
xor rax, rcx
mov word [0x18014685c], ax
movzx eax, byte [rsp + 0x41]
movzx eax, al
xor eax, 0xd2
not eax
movzx ecx, word [0x18014685c]
movsx ecx, cx
sub eax, ecx
cdqe
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0x128]
add eax, 0x3d0
mov dword [rsp + 0x6c8], eax
movsx eax, word [rsp + 0x60]
test eax, eax
je 0x1800661e2
mov eax, 4
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0xc8], 0
je 0x1800660dc
cmp dword [rsp + 0xc8], 1
je 0x180066151
cmp dword [rsp + 0xc8], 2
je 0x180066170
cmp dword [rsp + 0xc8], 3
je 0x18006619c
cmp dword [rsp + 0xc8], 4
je 0x1800661be
jmp 0x1800661e2
movzx eax, byte [0x180146766]
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
sub eax, ecx
mov byte [0x180146766], al
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x18006610a
mov dword [rsp + 0x254], 1
jmp 0x180066115
mov dword [rsp + 0x254], 0
movzx eax, byte [0x180146766]
mov ecx, dword [rsp + 0x254]
xor ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x40]
add eax, ecx
movzx ecx, word [0x1801467b4]
movzx ecx, cx
sub ecx, 0x9d22
mov edx, dword [rsp + 0x68]
add edx, ecx
mov ecx, edx
add eax, ecx
mov dword [rsp + 0x68], eax
jmp 0x1800661e2
mov eax, dword [0x18014670c]
shr eax, 7
mov word [0x180146830], ax
movzx eax, word [rsp + 0x4c]
dec ax
mov word [rsp + 0x4c], ax
jmp 0x1800661e2
mov eax, dword [rsp + 0x68]
cdqe
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x1800661e2
mov eax, 0x16c6
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x6c]
cdqe
mov rcx, qword [rsp + 0x88]
imul rax, rcx
mov dword [rsp + 0x6c], eax
jmp 0x1800661e2
movzx eax, byte [0x180146721]
movsx eax, al
mov ecx, dword [rsp + 0x68]
sub eax, ecx
movzx ecx, byte [0x180146721]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x180146721], al
mov eax, dword [rsp + 0x128]
add eax, 0x413
mov dword [rsp + 0x500], eax
cmp dword [rsp + 0x70], 0
je 0x18006628d
movzx eax, word [0x18014681c]
movsx rax, ax
cmp rax, qword [0x1801467e8]
jg 0x180066221
mov dword [rsp + 0x25c], 1
jmp 0x18006622c
mov dword [rsp + 0x25c], 0
movzx eax, word [0x18014681c]
cwde
cmp eax, 7
jg 0x180066246
mov dword [rsp + 0x258], 1
jmp 0x180066251
mov dword [rsp + 0x258], 0
mov eax, dword [rsp + 0x258]
cmp dword [rsp + 0x25c], eax
jge 0x18006626b
mov dword [rsp + 0x6c], 2
jmp 0x18006628b
movzx eax, word [0x180146858]
movzx eax, ax
test eax, eax
je 0x18006628b
mov rax, qword [0x180146838]
sub rax, 0x40
mov word [0x18014685c], ax
jmp 0x1800662e7
cmp qword [0x1801467d8], 0
jne 0x1800662a4
mov dword [rsp + 0x260], 1
jmp 0x1800662af
mov dword [rsp + 0x260], 0
movzx eax, word [0x18014681c]
cwde
cmp eax, dword [rsp + 0x260]
jne 0x1800662e7
movzx eax, byte [0x18014673b]
movzx eax, al
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
sub eax, ecx
mov byte [rsp + 0x43], al
movsx eax, byte [rsp + 0x42]
sub eax, 0x18a8
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x128]
add eax, 0x453
mov dword [rsp + 0x27c], eax
mov rax, qword [0x180146800]
cmp rax, qword [0x1801467d8]
jb 0x180066317
mov dword [rsp + 0x268], 1
jmp 0x180066322
mov dword [rsp + 0x268], 0
mov rax, qword [0x180146800]
cmp rax, 0x61
jb 0x18006633c
mov dword [rsp + 0x264], 1
jmp 0x180066347
mov dword [rsp + 0x264], 0
mov eax, dword [rsp + 0x264]
cmp dword [rsp + 0x268], eax
jg 0x180066377
movsx eax, byte [rsp + 0x40]
mov ecx, dword [0x18014684c]
cmp eax, ecx
jbe 0x180066372
mov eax, dword [0x180976cc0]
mov dword [0x18014673c], eax
jmp 0x18006644f
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x180066399
movsx eax, word [0x180146724]
test eax, eax
jne 0x180066399
mov dword [rsp + 0x26c], 0
jmp 0x1800663a4
mov dword [rsp + 0x26c], 1
movsx eax, word [rsp + 0x60]
cmp dword [rsp + 0x26c], eax
jne 0x1800663bf
mov dword [rsp + 0x270], 1
jmp 0x1800663ca
mov dword [rsp + 0x270], 0
mov eax, dword [rsp + 0x270]
not eax
test eax, eax
je 0x18006644f
mov rax, qword [0x1801467f8]
test rax, rax
jne 0x1800663f0
mov dword [rsp + 0x274], 1
jmp 0x1800663fb
mov dword [rsp + 0x274], 0
movsx eax, byte [0x180146727]
not eax
add eax, dword [rsp + 0x274]
cdqe
mov rcx, qword [0x180146850]
xor rcx, rax
mov rax, rcx
not rax
movzx ecx, word [0x180146818]
movsx rcx, cx
mov rdx, qword [0x180146850]
add rdx, rcx
mov rcx, rdx
add rax, rcx
mov byte [0x180146775], al
movsx eax, byte [rsp + 0x42]
add eax, 0xd774
cdqe
mov qword [rsp + 0x78], rax
movzx eax, word [0x18014685c]
cwde
test eax, eax
je 0x180066469
movsx eax, byte [rsp + 0x42]
mov dword [rsp + 0x278], eax
jmp 0x180066478
movzx eax, word [rsp + 0x48]
movzx eax, ax
mov dword [rsp + 0x278], eax
movzx eax, word [rsp + 0x278]
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x27c]
imul eax, eax, 0x871d
mov ecx, dword [rsp + 0x500]
mov edx, dword [rsp + 0x27c]
add ecx, edx
or eax, ecx
mov ecx, 0x2484fec
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50c], eax
mov byte [rsp + 0x40], 1
movzx eax, byte [0x180976cc0]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x504], al
cmp byte [rsp + 0x504], 0
je 0x1800664dc
jmp 0x1800664f3
mov rax, qword [0x180146800]
mov ecx, 0xdfc685db
add rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x134], eax
mov rax, qword [0x180146828]
cmp rax, 0xbc6f
jge 0x18006651c
mov dword [rsp + 0x284], 1
jmp 0x180066527
mov dword [rsp + 0x284], 0
movzx eax, byte [0x180146721]
movsx eax, al
not eax
cmp eax, 0xc0
jg 0x180066547
mov dword [rsp + 0x280], 1
jmp 0x180066552
mov dword [rsp + 0x280], 0
mov eax, dword [rsp + 0x280]
mov ecx, dword [rsp + 0x284]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1800665f0
mov eax, 2
mov word [rsp + 0x54], ax
mov eax, 0xbfd3
mov word [rsp + 0x48], ax
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov dword [rsp + 0x12c], eax
cmp dword [rsp + 0x12c], 0
je 0x1800665af
cmp dword [rsp + 0x12c], 1
je 0x1800665bc
cmp dword [rsp + 0x12c], 2
je 0x1800665d8
jmp 0x1800665ee
mov qword [0x1801467f8], 2
jmp 0x1800665ee
movsx eax, word [rsp + 0x60]
movzx ecx, byte [0x180146763]
movzx ecx, cl
add eax, ecx
cdqe
mov qword [0x180146838], rax
jmp 0x1800665ee
mov rax, qword [rsp + 0x80]
imul rax, rax, 0xcf
mov word [0x18014681c], ax
jmp 0x18006663f
movsx eax, byte [0x180146767]
test eax, eax
je 0x18006663f
mov eax, 0xf6387652
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
movsx rcx, byte [0x180146727]
sub rcx, rax
mov rax, rcx
mov byte [0x180146727], al
movzx eax, byte [0x180146723]
movzx eax, al
mov ecx, 4
imul rcx, rcx, 0x31
lea rdx, [0x180af90b0]
mov dword [rdx + rcx], eax
mov eax, dword [rsp + 0x134]
add eax, 0x384
mov dword [rsp + 0x6cc], eax
lea rax, [rsp + 0x880]
lea rcx, [0x1801107a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x880]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x134]
add eax, 0x3c5
mov dword [rsp + 0x6d0], eax
mov eax, 2
mov word [rsp + 0x60], ax
movzx eax, word [0x1801467b4]
movzx eax, ax
mov rcx, qword [rsp + 0x88]
sub rax, rcx
movzx ecx, word [0x1801467b4]
movzx ecx, cx
or rcx, rax
mov rax, rcx
mov word [0x1801467b4], ax
movsx eax, word [rsp + 0x60]
mov dword [rsp + 0x130], eax
cmp dword [rsp + 0x130], 0
je 0x1800666f8
cmp dword [rsp + 0x130], 1
je 0x180066713
cmp dword [rsp + 0x130], 2
je 0x180066771
jmp 0x180066789
movsxd rax, dword [rsp + 0x70]
mov rcx, qword [0x1801467e8]
sub rcx, rax
mov rax, rcx
mov qword [0x1801467e8], rax
jmp 0x180066789
mov eax, dword [rsp + 0x70]
not eax
mov ecx, dword [rsp + 0x70]
sub ecx, eax
mov eax, ecx
cdqe
movzx ecx, byte [0x180146723]
movzx ecx, cl
xor rcx, qword [0x1801467e8]
xor rax, rcx
movzx ecx, word [0x1801467f0]
movsx rcx, cx
movsx rdx, byte [rsp + 0x40]
add rcx, qword [rsp + 0x98]
add rdx, rcx
mov rcx, rdx
imul rax, rcx
mov byte [rsp + 0x45], al
movzx eax, word [rsp + 0x4c]
movzx eax, ax
sub eax, 0x9575
mov byte [rsp + 0x42], al
jmp 0x180066789
mov eax, dword [0x1801467f4]
add eax, 0x3da6
mov dword [rsp + 0x6c], eax
mov qword [rsp + 0x78], 0x7d281f75
mov eax, dword [rsp + 0x134]
add eax, 0x3c9
mov dword [rsp + 0x288], eax
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x1800667ab
jmp 0x1800667c4
movsx eax, byte [rsp + 0x40]
test eax, eax
je 0x1800667c4
mov eax, dword [0x1801467cc]
sub eax, 0xea
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x4c]
movzx eax, ax
imul eax, eax, 0xb6e9
cdqe
mov qword [0x180146820], rax
mov eax, dword [rsp + 0x288]
mov ecx, dword [rsp + 0x288]
xor eax, ecx
mov ecx, 0x5da
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x510], eax
mov byte [0x18014673b], 0x59
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x160], eax
movzx eax, word [0x180146848]
movsx rax, ax
movzx ecx, word [rsp + 0x5c]
movzx ecx, cx
mov qword [rsp + 0x28], 0x90
mov qword [rsp + 0x20], 0
mov r9, rax
mov r8d, 0x90
mov edx, ecx
mov ecx, 0x53
call fcn.18004d110
mov qword [0x180146800], rax
mov rax, qword [0x180146800]
test rax, rax
jb 0x1800668b4
movzx eax, word [0x1801467b4]
movzx eax, ax
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
movsx eax, byte [rsp + 0x40]
mov ecx, dword [0x18014673c]
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x18006689c
mov dword [rsp + 0x28c], 1
jmp 0x1800668a7
mov dword [rsp + 0x28c], 0
mov eax, dword [rsp + 0x28c]
mov dword [0x18014673c], eax
mov eax, dword [rsp + 0x160]
add eax, 0x40a
mov dword [rsp + 0x6d4], eax
mov rax, qword [0x180146840]
movzx ecx, word [0x180146818]
movsx rcx, cx
cmp rax, rcx
jge 0x1800668eb
mov dword [rsp + 0x294], 1
jmp 0x1800668f6
mov dword [rsp + 0x294], 0
mov rax, qword [0x180146840]
cmp rax, 0x41
jge 0x180066910
mov dword [rsp + 0x290], 1
jmp 0x18006691b
mov dword [rsp + 0x290], 0
mov eax, dword [rsp + 0x290]
cmp dword [rsp + 0x294], eax
jle 0x180066943
movzx eax, byte [0x1801467d8]
mov byte [rsp + 0x41], al
mov qword [0x180146800], 2
jmp 0x18006697d
movzx eax, byte [0x180146762]
movsx eax, al
sub eax, 0xc38107dd
mov dword [0x18014684c], eax
movzx eax, byte [0x180146721]
movsx eax, al
movsx ecx, byte [rsp + 0x42]
add eax, ecx
movzx ecx, byte [0x180146721]
movsx ecx, cl
and ecx, eax
mov eax, ecx
mov byte [0x180146721], al
mov eax, dword [rsp + 0x160]
add eax, 0x4a3b
mov dword [rsp + 0x508], eax
lea rax, [rsp + 0x768]
lea rcx, str.CorrelationID
mov rdi, rax
mov rsi, rcx
mov ecx, 0xe
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x768]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
cdqe
mov qword [0x180146810], rax
mov eax, dword [rsp + 0x160]
add eax, 0x4953
mov dword [rsp + 0x6d8], eax
mov rax, qword [rsp + 0x80]
sub rax, 0xe1
mov byte [0x180146722], al
movzx eax, word [0x1801467e8]
mov word [rsp + 0x58], ax
mov eax, 2
imul rax, rax, 0x5c1e
lea rcx, [0x1809a1970]
movsx eax, word [rcx + rax]
movzx ecx, word [0x180146858]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x180146858], ax
movzx eax, byte [0x180146762]
inc al
mov byte [0x180146762], al
mov eax, dword [rsp + 0x508]
or eax, 0x6a
mov ecx, 0x511b
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x514], eax
movzx eax, byte [0x180146763]
movzx eax, al
test eax, eax
je 0x180066a89
lea rax, [rsp + 0x7d8]
lea rcx, str.The_size_of_header
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x7d8]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [rsp + 0x42], al
jmp 0x180066aa0
movzx eax, word [rsp + 0x5c]
movzx eax, ax
test eax, eax
je 0x180066aa0
movzx eax, word [0x180146834]
mov byte [rsp + 0x41], al
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0xa0], eax
cmp qword [rsp + 0xa8], 0
je 0x180067169
mov qword [0x180146838], 2
movzx eax, byte [rsp + 0x44]
mov ecx, dword [rsp + 0x64]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x64]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x64], eax
mov rax, qword [0x180146838]
mov qword [rsp + 0x608], rax
cmp qword [rsp + 0x608], 0
je 0x180066b0a
cmp qword [rsp + 0x608], 1
je 0x180066b23
jmp 0x180066b8c
movzx eax, word [rsp + 0x50]
movzx eax, ax
add eax, 0x800c
cdqe
mov qword [rsp + 0x90], rax
jmp 0x180066b8c
mov eax, dword [rsp + 0x68]
mov ecx, dword [0x18014670c]
imul eax, ecx
test eax, eax
jne 0x180066b41
mov dword [rsp + 0x298], 1
jmp 0x180066b4c
mov dword [rsp + 0x298], 0
movzx eax, word [0x180146764]
cwde
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
sub eax, ecx
cdqe
mov rcx, qword [0x180146850]
xor rax, rcx
movsx ecx, word [rsp + 0x60]
movsx edx, word [0x180146724]
and ecx, edx
sub ecx, dword [rsp + 0x298]
movsxd rcx, ecx
imul rax, rcx
mov byte [0x1801466f3], al
mov dword [rsp + 0x70], 1
mov rax, qword [0x180146840]
add rax, 0x77b0
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x29c], eax
cmp dword [rsp + 0x29c], 0
je 0x180066bc9
cmp dword [rsp + 0x29c], 1
je 0x180066bf6
jmp 0x180066c68
movzx eax, word [rsp + 0x5c]
movzx eax, ax
mov ecx, dword [rsp + 0x64]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x54], ax
movzx eax, byte [rsp + 0x43]
mov ecx, dword [0x1801466f4]
imul ecx, eax
mov eax, ecx
mov dword [0x1801466f4], eax
jmp 0x180066c68
movzx eax, word [0x180146818]
cwde
test eax, eax
je 0x180066c13
mov rax, qword [0x1801467e8]
mov qword [rsp + 0x610], rax
jmp 0x180066c21
mov eax, dword [rsp + 0x6c]
cdqe
mov qword [rsp + 0x610], rax
movzx eax, byte [rsp + 0x610]
mov byte [0x180146766], al
movzx eax, byte [0x180146763]
movzx eax, al
test eax, eax
je 0x180066c4c
mov eax, dword [0x1801466f4]
mov dword [rsp + 0x2a0], eax
jmp 0x180066c5b
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov dword [rsp + 0x2a0], eax
movzx eax, word [rsp + 0x2a0]
mov word [rsp + 0x54], ax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x13c], eax
mov eax, 1
imul rax, rax, 0x53
lea rcx, [0x180977460]
movsx rax, byte [rcx + rax]
mov qword [0x180146840], rax
mov eax, dword [0x1801467cc]
not eax
mov eax, eax
sub rax, qword [0x180146808]
movzx ecx, word [0x18014681c]
movsx ecx, cx
movzx edx, word [0x180146830]
sub ecx, edx
movsxd rcx, ecx
xor rax, rcx
mov qword [0x1801467f8], rax
mov eax, dword [rsp + 0x50c]
mov ecx, dword [rsp + 0x13c]
add eax, ecx
mov dword [rsp + 0xd0], eax
mov rax, qword [0x180146810]
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
cmp rax, rcx
jae 0x180066d76
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0x21
xor r9d, r9d
mov r8d, 0xba
mov edx, 0xbe
xor ecx, ecx
call fcn.18004d110
mov qword [0x1801467f8], rax
mov rax, qword [0x1801467f8]
test rax, rax
je 0x180066d4c
mov eax, dword [0x18014670c]
mov eax, eax
mov rcx, qword [rsp + 0x90]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
jmp 0x180066d71
movzx eax, word [rsp + 0x48]
movzx eax, ax
mov rcx, qword [0x180146800]
sub rax, rcx
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
add rcx, rax
mov rax, rcx
mov word [rsp + 0x48], ax
jmp 0x180066ea1
movzx eax, word [0x1801467b4]
movzx eax, ax
movabs rcx, 0xf23465d49f7be
cmp rax, rcx
je 0x180066d9c
mov dword [rsp + 0x2a4], 1
jmp 0x180066da7
mov dword [rsp + 0x2a4], 0
movzx eax, byte [rsp + 0x45]
movsx eax, al
imul eax, eax, 0xbc
not eax
cmp dword [rsp + 0x2a4], eax
jg 0x180066dd2
movzx eax, word [rsp + 0x4c]
dec ax
mov word [rsp + 0x4c], ax
jmp 0x180066ea1
mov rax, qword [0x180146810]
mov ecx, dword [rsp + 0x68]
movsxd rcx, ecx
cmp rax, rcx
ja 0x180066ea1
mov rax, qword [0x180146840]
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
cmp rax, rcx
jl 0x180066ea1
movzx eax, word [rsp + 0x4c]
movzx eax, ax
movzx ecx, word [0x180146834]
movsx ecx, cx
not ecx
movsxd rcx, ecx
mov rdx, qword [0x180146828]
add rcx, rdx
xor rax, rcx
test rax, rax
jne 0x180066e37
mov dword [rsp + 0x2a8], 1
jmp 0x180066e42
mov dword [rsp + 0x2a8], 0
movsx eax, byte [0x18014670b]
movzx ecx, byte [rsp + 0x45]
movsx ecx, cl
and eax, ecx
movsx ecx, word [rsp + 0x60]
movzx edx, word [0x1801467b4]
movzx edx, dx
add ecx, edx
sub eax, ecx
not eax
mov ecx, dword [rsp + 0x2a8]
sub ecx, eax
mov eax, ecx
not eax
mov dword [0x1801467cc], eax
movzx eax, word [rsp + 0x5c]
movzx eax, ax
mov rcx, qword [rsp + 0x88]
sub rax, rcx
movzx ecx, word [rsp + 0x5c]
movzx ecx, cx
add rcx, rax
mov rax, rcx
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x510]
mov ecx, dword [rsp + 0x13c]
add eax, ecx
mov dword [rsp + 0x6dc], eax
mov byte [0x180146767], 4
movzx eax, word [rsp + 0x48]
movzx eax, ax
movzx ecx, byte [0x180146726]
add eax, ecx
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x48], ax
mov rax, qword [0x180146838]
movabs rcx, 0xf72b4645b452a
sub rax, rcx
mov qword [rsp + 0x80], rax
movzx eax, byte [0x180146767]
mov byte [rsp + 0xcc], al
cmp byte [rsp + 0xcc], 0
je 0x180066f4e
cmp byte [rsp + 0xcc], 1
je 0x180066f73
cmp byte [rsp + 0xcc], 2
je 0x180066fb7
cmp byte [rsp + 0xcc], 3
je 0x180066fce
cmp byte [rsp + 0xcc], 4
je 0x180066fe3
jmp 0x180067037
movzx eax, word [rsp + 0x48]
movzx eax, ax
movzx ecx, byte [rsp + 0x43]
sub eax, ecx
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [rsp + 0x48], ax
jmp 0x180067037
movzx eax, byte [rsp + 0x42]
inc al
mov byte [rsp + 0x42], al
movzx eax, byte [0x180146766]
mov rcx, qword [0x1801467f8]
and rax, rcx
movzx ecx, word [rsp + 0x58]
not ecx
movsxd rcx, ecx
movabs rdx, 0xdb6d37f4cb492
sub rcx, rdx
imul rax, rcx
mov qword [rsp + 0x98], rax
jmp 0x180067037
mov rax, qword [rsp + 0x98]
add rax, 0x6090
mov qword [0x180146800], rax
jmp 0x180067037
mov rax, qword [rsp + 0x98]
add rax, 0x707
mov word [rsp + 0x5c], ax
jmp 0x180067037
movzx eax, word [0x180146818]
cwde
test eax, eax
je 0x180066ffd
movzx eax, byte [rsp + 0x43]
mov dword [rsp + 0x2ac], eax
jmp 0x18006700c
movzx eax, word [0x18014685c]
cwde
mov dword [rsp + 0x2ac], eax
movzx eax, byte [rsp + 0x2ac]
mov byte [0x180146775], al
movzx eax, word [rsp + 0x50]
movzx eax, ax
add eax, dword [rsp + 0x70]
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x514]
mov ecx, dword [rsp + 0x13c]
add eax, ecx
mov dword [rsp + 0x2b0], eax
mov eax, dword [rsp + 0xd0]
mov ecx, dword [rsp + 0x2b0]
sub eax, ecx
mov ecx, dword [rsp + 0xd0]
sub eax, ecx
mov ecx, dword [rsp + 0x2b0]
mov edx, dword [rsp + 0xd0]
or ecx, edx
mov edx, dword [rsp + 0xd0]
mov edi, dword [rsp + 0xd0]
add edx, edi
imul ecx, edx
cmp eax, ecx
je 0x180067169
movzx eax, word [rsp + 0x50]
movzx eax, ax
movzx ecx, byte [rsp + 0x45]
movsx ecx, cl
imul eax, ecx
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [rsp + 0x50], ax
movzx eax, word [0x180146848]
cwde
movzx ecx, word [rsp + 0x58]
add eax, ecx
mov word [0x180146848], ax
movzx eax, word [0x180146764]
cwde
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
not ecx
sub eax, ecx
cdqe
movzx ecx, word [rsp + 0x58]
add rcx, qword [0x1801467d8]
sub rax, rcx
movzx ecx, byte [0x18014673b]
movzx ecx, cl
add ecx, 0xfb
movsxd rcx, ecx
movzx edx, word [rsp + 0x5c]
movzx edx, dx
mov rdi, qword [0x1801467e8]
add rdi, rdx
mov rdx, rdi
sub rcx, rdx
add rax, rcx
test rax, rax
jne 0x18006712e
mov byte [rsp + 0xa4], 1
jmp 0x180067136
mov byte [rsp + 0xa4], 0
movzx eax, byte [rsp + 0xa4]
mov byte [0x18014673b], al
mov rcx, qword [rsp + 0xa8]
call fcn.1801007ac
mov eax, 0xfffff4a2
mov word [0x180146848], ax
mov qword [rsp + 0xa8], 0
movzx eax, word [0x180146858]
movzx eax, ax
sub eax, 0xf94177c8
mov eax, eax
mov qword [0x1801467e8], rax
mov eax, dword [rsp + 0xa0]
jmp 0x18006c283
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x1800671dc
movsxd rax, dword [rsp + 0x70]
mov rcx, qword [0x180146800]
imul rcx, rax
mov rax, rcx
mov qword [0x180146800], rax
movzx eax, word [0x180146764]
movsx rax, ax
add rax, qword [rsp + 0x90]
movzx ecx, word [0x180146764]
movsx rcx, cx
xor rcx, rax
mov rax, rcx
mov word [0x180146764], ax
jmp 0x1800671e6
mov eax, 0x144a
mov word [rsp + 0x5c], ax
mov dword [rsp + 0xd4], 0
jmp 0x180067203
mov eax, dword [rsp + 0xd4]
inc eax
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0x140]
cmp dword [rsp + 0xd4], eax
jae 0x18006c239
mov eax, dword [rsp + 0x64]
test eax, eax
jne 0x18006722c
mov dword [rsp + 0x2b4], 1
jmp 0x180067237
mov dword [rsp + 0x2b4], 0
movzx eax, word [0x180146848]
cwde
mov ecx, dword [rsp + 0x2b4]
add ecx, eax
mov eax, ecx
cdqe
mov qword [rsp + 0x88], rax
movzx eax, word [rsp + 0x54]
movzx eax, ax
movzx ecx, byte [rsp + 0x44]
cmp eax, ecx
jge 0x180067267
jmp 0x180067295
movzx eax, byte [rsp + 0x43]
imul eax, eax, 0xdc
cdqe
mov qword [rsp + 0x78], rax
movzx eax, word [0x180146818]
cwde
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
imul eax, ecx
cdqe
mov qword [0x180146810], rax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x144], eax
mov eax, dword [rsp + 0x68]
sar eax, 7
mov byte [0x180146775], al
movzx eax, byte [0x180146763]
movzx eax, al
imul rax, qword [0x1801467d8]
mov byte [0x180146763], al
mov eax, dword [rsp + 0x144]
add eax, 0xe219
mov dword [rsp + 0x6e0], eax
mov eax, dword [rsp + 0x144]
add eax, 0x398
mov dword [rsp + 0x51c], eax
mov qword [rsp + 0x28], 3
mov qword [rsp + 0x20], 0xe3
mov r9, qword [rsp + 0x88]
xor r8d, r8d
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x78]
call fcn.18004d370
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x90], 0
je 0x180067340
movzx eax, word [0x18014681c]
inc ax
mov word [0x18014681c], ax
mov eax, dword [rsp + 0x144]
add eax, 0x3a7
mov dword [rsp + 0x518], eax
mov qword [0x180146840], 4
movzx eax, word [0x180976cc0]
mov word [rsp + 0x48], ax
movzx eax, byte [0x18014673b]
movzx eax, al
mov ecx, dword [rsp + 0x64]
cmp eax, ecx
jge 0x180067389
mov dword [rsp + 0x2bc], 1
jmp 0x180067394
mov dword [rsp + 0x2bc], 0
movzx eax, byte [0x18014673b]
movzx eax, al
cmp eax, 0x38
jge 0x1800673b0
mov dword [rsp + 0x2b8], 1
jmp 0x1800673bb
mov dword [rsp + 0x2b8], 0
mov eax, dword [rsp + 0x2b8]
cmp dword [rsp + 0x2bc], eax
jg 0x1800674e4
movsx rax, byte [rsp + 0x40]
mov rcx, qword [rsp + 0x88]
cmp rax, rcx
je 0x1800673ef
mov dword [rsp + 0x2c0], 1
jmp 0x1800673fa
mov dword [rsp + 0x2c0], 0
cmp dword [rsp + 0x2c0], 0x9bbe
jne 0x180067462
movzx eax, word [0x180146818]
cwde
test eax, eax
je 0x180067426
movzx eax, byte [0x180146775]
movsx eax, al
mov dword [rsp + 0x2c4], eax
jmp 0x180067433
mov eax, dword [0x18014684c]
mov dword [rsp + 0x2c4], eax
movzx eax, byte [rsp + 0x2c4]
mov byte [rsp + 0x42], al
movzx eax, byte [0x180146762]
movsx eax, al
movzx ecx, byte [0x180146723]
movzx ecx, cl
lea eax, [rcx + rax - 0xf]
mov byte [0x180146723], al
jmp 0x1800674e4
movsx eax, byte [rsp + 0x40]
test eax, eax
je 0x1800674e4
mov eax, dword [0x180976cc0]
mov qword [0x1801467f8], rax
mov eax, dword [rsp + 0x64]
test eax, eax
jne 0x18006748d
mov dword [rsp + 0x2c8], 1
jmp 0x180067498
mov dword [rsp + 0x2c8], 0
movzx eax, word [0x1801467b4]
movzx eax, ax
movabs rcx, 0x5fd4d2cce219c
sub rax, rcx
test rax, rax
jne 0x1800674c1
mov dword [rsp + 0x2cc], 1
jmp 0x1800674cc
mov dword [rsp + 0x2cc], 0
mov eax, dword [rsp + 0x2c8]
imul eax, dword [rsp + 0x2cc]
cdqe
mov qword [0x180146838], rax
mov eax, dword [rsp + 0x518]
add eax, 0x22
mov ecx, dword [rsp + 0x51c]
imul ecx, ecx, 0x82ee
or eax, ecx
add eax, 0xfe297bd7
mov dword [rsp + 0x574], eax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x148], eax
mov rax, qword [0x180146810]
test rax, rax
je 0x1800675bb
mov eax, dword [0x18014670c]
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
cmp eax, ecx
ja 0x180067545
mov dword [rsp + 0x2d0], 1
jmp 0x180067550
mov dword [rsp + 0x2d0], 0
movsx eax, byte [0x1801466df]
cmp eax, dword [rsp + 0x2d0]
jne 0x1800675b9
movzx eax, word [0x180146830]
movzx ecx, byte [0x180146775]
movsx ecx, cl
lea eax, [rcx + rax - 0x8d10]
mov byte [0x180146775], al
mov rax, qword [0x180146850]
test rax, rax
je 0x18006759a
mov eax, dword [rsp + 0x64]
cdqe
mov qword [rsp + 0x618], rax
jmp 0x1800675aa
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x618], rax
mov rax, qword [rsp + 0x618]
mov qword [0x180146820], rax
jmp 0x18006762b
movzx eax, byte [0x180146721]
movsx rax, al
mov rcx, qword [0x180146800]
add rcx, rax
mov rax, rcx
not rax
test rax, rax
je 0x1800675ee
mov rax, qword [0x180146850]
add rax, 0x94bf
mov dword [rsp + 0x6c], eax
jmp 0x18006762b
mov eax, dword [rsp + 0x6c]
test eax, eax
je 0x180067609
mov rax, qword [0x180146850]
shl rax, 2
mov byte [0x180146763], al
jmp 0x18006762b
movsx eax, byte [rsp + 0x42]
test eax, eax
je 0x18006762b
movzx eax, word [rsp + 0x5c]
movzx eax, ax
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
lea eax, [rcx + rax + 0x55]
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x148]
add eax, 0xe1f5
mov dword [rsp + 0x520], eax
movzx eax, word [rsp + 0x58]
cmp eax, dword [rsp + 0x70]
jge 0x180067656
mov dword [rsp + 0x2d8], 1
jmp 0x180067661
mov dword [rsp + 0x2d8], 0
movzx eax, word [rsp + 0x58]
cmp eax, 0x58
jge 0x180067678
mov dword [rsp + 0x2d4], 1
jmp 0x180067683
mov dword [rsp + 0x2d4], 0
mov eax, dword [rsp + 0x2d4]
cmp dword [rsp + 0x2d8], eax
jg 0x1800677f8
mov dword [0x18014684c], 3
movsx eax, word [rsp + 0x60]
test eax, eax
je 0x1800676bc
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x620], rax
jmp 0x1800676cd
movzx eax, byte [rsp + 0x45]
movsx rax, al
mov qword [rsp + 0x620], rax
movzx eax, word [rsp + 0x620]
mov word [rsp + 0x60], ax
movzx eax, word [0x180976cc0]
mov word [rsp + 0x4c], ax
mov eax, dword [0x18014684c]
mov dword [rsp + 0xe8], eax
cmp dword [rsp + 0xe8], 0
je 0x18006772c
cmp dword [rsp + 0xe8], 1
je 0x18006778d
cmp dword [rsp + 0xe8], 2
je 0x1800677bc
cmp dword [rsp + 0xe8], 3
je 0x1800677d1
jmp 0x1800677f6
movzx eax, word [0x1801467f0]
cwde
test eax, eax
je 0x180067749
mov rax, qword [0x180146850]
mov qword [rsp + 0x628], rax
jmp 0x180067759
movzx eax, word [rsp + 0x48]
movzx eax, ax
mov qword [rsp + 0x628], rax
movzx eax, word [rsp + 0x628]
mov word [rsp + 0x4c], ax
movzx eax, word [rsp + 0x54]
movzx eax, ax
movzx ecx, word [0x180146858]
movzx ecx, cx
sub eax, ecx
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [rsp + 0x54], ax
jmp 0x1800677f6
mov eax, 0x71cc
mov word [rsp + 0x50], ax
movzx eax, word [rsp + 0x48]
movzx eax, ax
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
xor eax, ecx
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [rsp + 0x48], ax
jmp 0x1800677f6
movzx eax, word [rsp + 0x4c]
movzx eax, ax
sub eax, 0xe529
mov byte [0x180146727], al
jmp 0x1800677f6
mov eax, dword [0x1801467f4]
cdqe
mov rcx, qword [0x180146850]
imul rcx, rax
mov rax, rcx
mov byte [rsp + 0x42], al
movzx eax, byte [0x180976cc0]
mov byte [rsp + 0x43], al
jmp 0x180067836
movzx eax, word [0x180146858]
movzx eax, ax
not eax
test eax, eax
je 0x180067836
xor eax, eax
test eax, eax
je 0x180067836
mov eax, 2
imul rax, rax, 0x205e
lea rcx, [0x1809a1970]
movsx eax, word [rcx + rax]
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x148]
add eax, 0xf16d
mov dword [rsp + 0x6e4], eax
movzx eax, byte [rsp + 0x41]
movzx eax, al
movzx ecx, word [0x18014685c]
movsx ecx, cx
cmp eax, ecx
jne 0x18006786c
mov dword [rsp + 0x2e0], 1
jmp 0x180067877
mov dword [rsp + 0x2e0], 0
movzx eax, byte [rsp + 0x41]
movzx eax, al
cmp eax, 0x1a
jne 0x180067891
mov dword [rsp + 0x2dc], 1
jmp 0x18006789c
mov dword [rsp + 0x2dc], 0
mov eax, dword [rsp + 0x2dc]
cmp dword [rsp + 0x2e0], eax
jne 0x1800679e6
mov qword [rsp + 0x90], 3
mov rax, qword [rsp + 0x78]
imul rax, rax, 0xcc
mov word [0x1801467b4], ax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x4d0], rax
cmp qword [rsp + 0x4d0], 0
je 0x180067918
cmp qword [rsp + 0x4d0], 1
je 0x180067972
cmp qword [rsp + 0x4d0], 2
je 0x180067997
cmp qword [rsp + 0x4d0], 3
je 0x1800679bc
jmp 0x1800679e6
movzx eax, byte [0x180146766]
test eax, eax
je 0x180067935
mov eax, dword [0x18014670c]
mov eax, eax
mov qword [rsp + 0x630], rax
jmp 0x180067945
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x630], rax
mov rax, qword [rsp + 0x630]
mov qword [0x1801467e0], rax
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov ecx, dword [rsp + 0x70]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x70]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x70], eax
jmp 0x1800679e6
movzx eax, word [0x180146818]
cwde
add eax, 0x7a16
cdqe
mov qword [rsp + 0x78], rax
imul rax, qword [rsp + 0x90], 0x15
mov dword [0x18014684c], eax
jmp 0x1800679e6
movsx rax, byte [0x180146767]
sub rax, qword [0x180146820]
movsx rcx, byte [0x180146767]
or rcx, rax
mov rax, rcx
mov byte [0x180146767], al
jmp 0x1800679e6
movzx eax, byte [0x180146763]
movzx eax, al
movzx ecx, byte [0x180146762]
movsx ecx, cl
add eax, ecx
movzx ecx, byte [0x180146763]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [0x180146763], al
mov eax, dword [rsp + 0x148]
add eax, 0x3c8
mov dword [rsp + 0x524], eax
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x180067a8d
mov r8w, 0x20
xor edx, edx
xor ecx, ecx
call fcn.18004d700
mov word [0x180146764], ax
movzx eax, word [0x180146764]
cwde
test eax, eax
jg 0x180067a5d
lea rax, [rsp + 0x820]
lea rcx, str.Expression
mov rdi, rax
mov rsi, rcx
mov ecx, 0x16
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x820]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x1801466f3], al
jmp 0x180067a8b
mov eax, dword [rsp + 0x6c]
test eax, eax
jne 0x180067a8b
movzx eax, word [rsp + 0x50]
movzx eax, ax
movzx ecx, word [0x1801467f0]
movsx ecx, cx
imul eax, ecx
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [rsp + 0x50], ax
jmp 0x180067ac0
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x180067aa4
mov eax, dword [0x1801467cc]
mov dword [rsp + 0x2e4], eax
jmp 0x180067ab3
movzx eax, word [rsp + 0x4c]
movzx eax, ax
mov dword [rsp + 0x2e4], eax
movzx eax, word [rsp + 0x2e4]
mov word [rsp + 0x60], ax
lea rax, [rsp + 0x7f0]
lea rcx, str.WinHttpTransport::
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x7f0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x520]
mov ecx, dword [rsp + 0x524]
or eax, ecx
xor eax, 0xe4e4
mov dword [rsp + 0x578], eax
movzx eax, word [0x1801467b4]
movzx eax, ax
test eax, eax
jne 0x180067b6e
movzx eax, byte [0x180146763]
movzx eax, al
movzx r8d, ax
mov dx, 0x21
xor ecx, ecx
call fcn.18004d700
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x180067b69
movzx eax, word [rsp + 0x5c]
movzx eax, ax
mov rcx, qword [0x180146828]
imul rcx, rax
mov rax, rcx
mov rcx, qword [0x180146828]
add rcx, rax
mov rax, rcx
mov qword [0x180146828], rax
jmp 0x180067cf2
movsx eax, byte [0x1801466df]
test eax, eax
je 0x180067bc3
movabs rax, 0x28dc35d5eafa4
mov rcx, qword [0x1801467e8]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
movzx eax, byte [0x180146722]
movsx eax, al
mov ecx, dword [0x18014684c]
xor eax, ecx
movzx ecx, byte [0x180146722]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x180146722], al
jmp 0x180067cf2
mov rax, qword [0x180146800]
test rax, rax
je 0x180067c72
movzx eax, byte [rsp + 0x44]
mov rcx, qword [0x1801467d8]
add rcx, rax
mov rax, rcx
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
mov rdx, qword [rsp + 0x78]
add rcx, rdx
add rax, rcx
test rax, rax
jne 0x180067c0a
mov dword [rsp + 0x2e8], 1
jmp 0x180067c15
mov dword [rsp + 0x2e8], 0
mov eax, dword [rsp + 0x2e8]
mov dword [rsp + 0x64], eax
cmp dword [rsp + 0x70], 0
jne 0x180067c34
mov dword [rsp + 0x2ec], 1
jmp 0x180067c3f
mov dword [rsp + 0x2ec], 0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x78]
add rax, rcx
movzx ecx, word [0x180146834]
movsx ecx, cx
sub ecx, dword [rsp + 0x2ec]
not ecx
movsxd rcx, ecx
sub rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x180067cf2
movsx eax, byte [0x18014670b]
test eax, eax
jne 0x180067c8b
mov qword [rsp + 0x638], 1
jmp 0x180067c97
mov qword [rsp + 0x638], 0
mov rax, qword [0x1801467e8]
cmp qword [rsp + 0x638], rax
jge 0x180067cf2
movzx eax, byte [0x180146721]
movsx rax, al
movabs rcx, 0xae1bc2e2b243c
imul rax, rcx
mov dword [0x18014670c], eax
movzx eax, word [0x180146848]
movsx rax, ax
imul rax, qword [0x180146820]
movzx ecx, word [0x180146848]
movsx rcx, cx
xor rcx, rax
mov rax, rcx
mov word [0x180146848], ax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x150], eax
movzx eax, byte [rsp + 0x41]
movzx eax, al
cmp eax, dword [rsp + 0x70]
jle 0x180067d1a
mov dword [rsp + 0x2f4], 1
jmp 0x180067d25
mov dword [rsp + 0x2f4], 0
movzx eax, byte [rsp + 0x41]
movzx eax, al
cmp eax, 0x3a
jle 0x180067d3f
mov dword [rsp + 0x2f0], 1
jmp 0x180067d4a
mov dword [rsp + 0x2f0], 0
mov eax, dword [rsp + 0x2f0]
cmp dword [rsp + 0x2f4], eax
je 0x180067d8d
lea rax, [rsp + 0x808]
lea rcx, str.Error_response_cam
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x808]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x180146764], ax
jmp 0x180067dba
mov rax, qword [0x1801467f8]
test rax, rax
jne 0x180067dba
mov rax, qword [rsp + 0x80]
add rax, 0x87
movzx ecx, byte [0x180146726]
and rcx, rax
mov rax, rcx
mov byte [0x180146726], al
mov eax, dword [rsp + 0x150]
add eax, 0x3d7
mov dword [rsp + 0x52c], eax
mov byte [rsp + 0x41], 2
mov eax, dword [0x18014670c]
xor eax, 0x7cfb
mov eax, eax
mov qword [0x1801467d8], rax
movzx eax, word [0x180146834]
cwde
sub eax, 0xfb36
mov dword [rsp + 0x6c], eax
movzx eax, byte [rsp + 0x41]
mov byte [rsp + 0x14c], al
cmp byte [rsp + 0x14c], 0
je 0x180067e26
cmp byte [rsp + 0x14c], 1
je 0x180067e64
cmp byte [rsp + 0x14c], 2
je 0x180067e8f
jmp 0x180067ed3
movzx eax, byte [0x18014673b]
movzx eax, al
sub eax, 0x3be
test eax, eax
jne 0x180067e47
mov qword [rsp + 0x640], 1
jmp 0x180067e53
mov qword [rsp + 0x640], 0
mov rax, qword [rsp + 0x640]
mov qword [0x180146850], rax
jmp 0x180067ed3
movzx eax, word [0x1801467f0]
cwde
movzx ecx, word [0x18014681c]
movsx ecx, cx
add eax, ecx
movzx ecx, word [0x1801467f0]
movsx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x1801467f0], ax
jmp 0x180067ed3
movzx eax, word [rsp + 0x4c]
movzx eax, ax
mov rcx, qword [0x180146840]
add rax, rcx
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x4c], ax
movzx eax, word [0x180146848]
movsx rax, ax
movabs rcx, 0x1957be2d51a3b
add rax, rcx
mov qword [0x180146800], rax
mov eax, dword [rsp + 0x150]
add eax, 0xf60a
mov dword [rsp + 0x528], eax
mov rax, qword [0x180146828]
movzx edx, ax
mov cx, 0x65
call fcn.18004dde0
cwde
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
test eax, eax
jge 0x180067f13
mov dword [rsp + 0x2fc], 1
jmp 0x180067f1e
mov dword [rsp + 0x2fc], 0
mov eax, dword [rsp + 0x64]
cmp eax, 0x5a
jge 0x180067f34
mov dword [rsp + 0x2f8], 1
jmp 0x180067f3f
mov dword [rsp + 0x2f8], 0
mov eax, dword [rsp + 0x2f8]
cmp dword [rsp + 0x2fc], eax
jle 0x180067f6b
mov eax, dword [0x180976cc0]
mov dword [0x18014684c], eax
movsx eax, byte [0x1801466f3]
sub eax, 0x3b
mov dword [0x18014673c], eax
mov eax, dword [rsp + 0x150]
add eax, 0x3a7
mov dword [rsp + 0x530], eax
mov eax, dword [rsp + 0x528]
mov ecx, dword [rsp + 0x52c]
xor eax, ecx
mov ecx, dword [rsp + 0x530]
or ecx, 0x50
add eax, ecx
xor eax, 0xffef
mov dword [rsp + 0x57c], eax
movzx eax, word [0x180146764]
cwde
movsx ecx, byte [0x180146767]
cmp eax, ecx
jle 0x180067fc7
mov qword [rsp + 0x648], 1
jmp 0x180067fd3
mov qword [rsp + 0x648], 0
movzx eax, word [rsp + 0x50]
movzx eax, ax
add rax, qword [0x1801467d8]
not rax
mov rcx, qword [rsp + 0x648]
add rcx, rax
mov rax, rcx
test rax, rax
jne 0x180068025
movsx eax, byte [0x1801466df]
movzx ecx, word [rsp + 0x58]
xor eax, ecx
movsx ecx, byte [0x1801466df]
sub ecx, eax
mov eax, ecx
mov byte [0x1801466df], al
mov eax, dword [rsp + 0x68]
xor eax, dword [rsp + 0x70]
mov dword [rsp + 0x68], eax
jmp 0x180068041
movzx eax, word [rsp + 0x4c]
movzx eax, ax
movabs rcx, 0x98b984cb6b5f2
sub rax, rcx
mov qword [0x1801467d8], rax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x154], eax
mov rax, qword [0x180146850]
test rax, rax
jne 0x180068067
mov dword [rsp + 0x300], 1
jmp 0x180068072
mov dword [rsp + 0x300], 0
movsx eax, byte [0x180146727]
not eax
add eax, dword [rsp + 0x300]
mov ecx, dword [0x18014684c]
mov edx, dword [0x1801467cc]
imul ecx, edx
add eax, ecx
mov byte [0x180146721], al
mov eax, dword [rsp + 0x154]
add eax, 0x39a
mov dword [rsp + 0x6e8], eax
movzx eax, byte [0x180146721]
movsx eax, al
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
cmp eax, ecx
jge 0x1800680cf
mov dword [rsp + 0x308], 1
jmp 0x1800680da
mov dword [rsp + 0x308], 0
movzx eax, byte [0x180146721]
movsx eax, al
cmp eax, 0x30
jge 0x1800680f6
mov dword [rsp + 0x304], 1
jmp 0x180068101
mov dword [rsp + 0x304], 0
mov eax, dword [rsp + 0x304]
cmp dword [rsp + 0x308], eax
jne 0x180068142
mov eax, dword [rsp + 0x64]
test eax, eax
jne 0x180068125
mov rax, qword [0x180146810]
test rax, rax
je 0x180068127
jmp 0x180068142
movzx eax, word [rsp + 0x5c]
dec ax
mov word [rsp + 0x5c], ax
movzx eax, word [0x180146830]
mov qword [0x1801467d8], rax
mov eax, dword [rsp + 0x154]
add eax, 0x5b97
mov dword [rsp + 0x320], eax
movzx eax, word [rsp + 0x50]
movzx eax, ax
cmp rax, qword [0x180146808]
je 0x180068173
mov dword [rsp + 0x310], 1
jmp 0x18006817e
mov dword [rsp + 0x310], 0
movzx eax, word [rsp + 0x50]
movzx eax, ax
cmp eax, 0xd
je 0x180068198
mov dword [rsp + 0x30c], 1
jmp 0x1800681a3
mov dword [rsp + 0x30c], 0
mov eax, dword [rsp + 0x30c]
cmp dword [rsp + 0x310], eax
jge 0x1800681cd
mov eax, dword [rsp + 0x6c]
add eax, 0xab00
movsx ecx, byte [0x1801466df]
and ecx, eax
mov eax, ecx
mov byte [0x1801466df], al
mov eax, dword [rsp + 0x154]
add eax, 0x392
mov dword [rsp + 0x6ec], eax
mov qword [rsp + 0x90], 0
mov eax, 1
imul rax, rax, 0x3b73
lea rcx, [0x180977530]
movzx edx, byte [rsp + 0x98]
mov byte [rcx + rax], dl
mov rax, qword [rsp + 0x98]
add rax, 0x7769
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x758], rax
cmp qword [rsp + 0x758], 0
je 0x180068239
jmp 0x180068264
movzx eax, word [rsp + 0x58]
imul eax, eax, 0x7e9e
cdqe
mov qword [rsp + 0x90], rax
movzx eax, byte [0x180146721]
movsx eax, al
shl eax, 4
cdqe
mov qword [0x180146838], rax
movsx eax, byte [rsp + 0x40]
test eax, eax
je 0x180068378
mov rax, qword [0x1801467d8]
not rax
cmp qword [0x1801467d8], rax
jae 0x180068291
mov dword [rsp + 0x314], 1
jmp 0x18006829c
mov dword [rsp + 0x314], 0
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x314], eax
je 0x1800682e4
mov eax, dword [rsp + 0x64]
cdqe
mov ecx, 8
imul rcx, rcx, 0x25
lea rdx, [0x180b91450]
mov qword [rdx + rcx], rax
movzx eax, byte [0x180146775]
movsx rax, al
mov rcx, qword [0x180146838]
imul rax, rcx
mov byte [0x180146775], al
jmp 0x180068376
movzx eax, byte [rsp + 0x44]
not eax
movsx ecx, byte [rsp + 0x42]
not ecx
cmp eax, ecx
jge 0x180068303
mov dword [rsp + 0x31c], 1
jmp 0x18006830e
mov dword [rsp + 0x31c], 0
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jae 0x18006832d
mov dword [rsp + 0x318], 1
jmp 0x180068338
mov dword [rsp + 0x318], 0
mov eax, dword [rsp + 0x318]
cmp dword [rsp + 0x31c], eax
jne 0x180068376
mov eax, dword [rsp + 0x64]
imul eax, eax, 0x5d748cf6
cdqe
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x68]
cdqe
movabs rcx, 0xcfcd9f2cd6a69
imul rax, rcx
mov byte [0x1801466f3], al
jmp 0x180068389
movzx eax, word [0x180146830]
dec ax
mov word [0x180146830], ax
mov eax, dword [rsp + 0x320]
mov ecx, dword [rsp + 0x320]
imul eax, ecx
xor eax, 0x20c4b2e0
mov dword [rsp + 0x5ac], eax
movabs rax, 0x7031e07b41a75
mov rcx, qword [0x1801467e8]
add rcx, rax
mov rax, rcx
mov qword [0x180146820], rax
movzx eax, byte [rsp + 0x45]
movsx eax, al
sub eax, dword [rsp + 0x70]
cdqe
sub rax, qword [rsp + 0x90]
mov rcx, qword [0x180146838]
xor rax, rcx
mov qword [0x180146828], rax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x158], eax
movzx eax, word [0x18014685c]
cwde
test eax, eax
jne 0x180068412
mov qword [rsp + 0x650], 1
jmp 0x18006841e
mov qword [rsp + 0x650], 0
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x650]
add rcx, rax
mov rax, rcx
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
mov rdx, qword [0x1801467d8]
add rdx, rcx
mov rcx, rdx
sub rax, rcx
mov word [0x180146830], ax
movzx eax, word [0x180976cc0]
mov word [0x180146818], ax
mov eax, dword [rsp + 0x158]
add eax, 0x6b7
mov dword [rsp + 0x548], eax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0x1a
mov r9, qword [rsp + 0x80]
xor r8d, r8d
xor edx, edx
mov ecx, 0xe4
call fcn.18004d110
mov byte [0x1801466df], al
movsx eax, byte [0x1801466df]
test eax, eax
jle 0x180068591
movzx eax, word [0x180146858]
movzx eax, ax
test eax, eax
je 0x180068534
movzx eax, word [0x1801467b4]
movzx eax, ax
test eax, eax
jne 0x1800684db
mov dword [rsp + 0x324], 1
jmp 0x1800684e6
mov dword [rsp + 0x324], 0
movsx eax, byte [0x1801466df]
mov ecx, dword [rsp + 0x64]
add ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
sub ecx, dword [rsp + 0x324]
imul eax, ecx
test eax, eax
jne 0x180068519
mov qword [rsp + 0x658], 1
jmp 0x180068525
mov qword [rsp + 0x658], 0
mov rax, qword [rsp + 0x658]
mov qword [rsp + 0x78], rax
jmp 0x18006858f
cmp qword [rsp + 0x90], 0
je 0x180068551
movsx eax, byte [rsp + 0x40]
xor eax, 0xa124
mov dword [0x1801466f4], eax
jmp 0x18006858f
movzx eax, byte [rsp + 0x41]
movzx eax, al
test eax, eax
je 0x18006858f
mov eax, 0x8a3c3699
mov rcx, qword [0x180146820]
imul rcx, rax
mov rax, rcx
movsx rcx, byte [rsp + 0x42]
add rax, rcx
mov qword [rsp + 0x98], rax
mov eax, dword [0x180976cc0]
mov qword [rsp + 0x80], rax
jmp 0x1800685b9
movzx eax, byte [rsp + 0x44]
mov rcx, qword [0x1801467e0]
add rax, rcx
mov byte [rsp + 0x44], al
movzx eax, word [rsp + 0x5c]
movzx eax, ax
mov ecx, dword [0x1801467f4]
sub eax, ecx
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x158]
add eax, 0x48d
mov dword [rsp + 0x6f0], eax
movzx eax, word [0x180146830]
movabs rcx, 0x844cea80642ed
add rax, rcx
mov word [rsp + 0x58], ax
movsx rax, byte [0x180146767]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x158]
add eax, 0x4ac
mov dword [rsp + 0x3a4], eax
mov rax, qword [0x1801467f8]
add rax, 0x26d1
mov qword [0x180146808], rax
movzx eax, byte [rsp + 0x43]
mov ecx, dword [rsp + 0x6c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0xd4]
imul rax, rax, 0x30
lea rcx, [rsp + 0x8f8]
mov rdx, qword [rsp + 0xa8]
mov rdi, rcx
lea rsi, [rdx + rax]
mov ecx, 0x30
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x20], 0x24
mov r9, qword [rsp + 0x8f8]
mov r8, qword [rsp + 0x958]
mov edx, 3
lea rcx, [0x18006ec60]
call fcn.180082490
mov qword [rsp + 0xb0], rax
cmp qword [rsp + 0xb0], 0
jne 0x180068de3
movzx eax, byte [0x180146722]
movsx eax, al
sub eax, 0xed
mov byte [rsp + 0x41], al
mov eax, dword [0x18014670c]
shl eax, 3
mov byte [rsp + 0x42], al
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x15c], eax
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x180068774
movzx eax, byte [rsp + 0x44]
movzx ecx, byte [0x180146723]
movzx ecx, cl
cmp eax, ecx
jle 0x180068740
movabs rax, 0x969bcccf84f41
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
mov byte [0x180146775], al
movzx eax, byte [rsp + 0x44]
add eax, 0xf2
cdqe
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x180068772
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x180068772
mov rax, qword [0x1801467e0]
mov qword [rsp + 0x90], rax
movsx eax, byte [0x180146727]
mov ecx, dword [rsp + 0x64]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x64]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x1800687da
movzx eax, word [0x180146834]
cwde
test eax, eax
jne 0x1800687da
movzx eax, word [0x18014681c]
cwde
test eax, eax
je 0x1800687da
mov rax, qword [0x1801467f8]
shl rax, 3
mov dword [0x1801467cc], eax
mov rax, qword [rsp + 0x98]
not rax
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
mov rdx, qword [0x1801467e0]
sub rcx, rdx
mov edx, dword [0x18014670c]
not edx
mov edx, edx
add rdx, qword [0x1801467e8]
sub rcx, rdx
sub rax, rcx
not rax
mov byte [0x180146721], al
mov eax, dword [rsp + 0x15c]
add eax, 0x6bc
mov dword [rsp + 0x534], eax
movzx eax, word [0x180146818]
cwde
imul eax, eax, 0x4227
cdqe
mov qword [0x180146850], rax
mov eax, 0x51f9
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x15c]
add eax, 0x71e
mov dword [rsp + 0x538], eax
movsx eax, byte [0x1801466df]
xor eax, 7
mov dword [0x1801467cc], eax
movzx eax, byte [0x180976cc0]
mov byte [0x180146766], al
mov eax, dword [rsp + 0x15c]
add eax, 0x3b4
mov dword [rsp + 0x53c], eax
mov eax, dword [rsp + 0x534]
mov ecx, dword [rsp + 0x538]
add eax, ecx
mov ecx, dword [rsp + 0x53c]
mov edx, 0x51
sub edx, ecx
mov ecx, edx
cmp eax, ecx
je 0x180068de3
movzx eax, byte [rsp + 0x43]
xor r8d, r8d
movzx edx, ax
movzx ecx, word [rsp + 0x58]
call fcn.18004d700
movzx eax, ax
mov qword [0x1801467e0], rax
mov rax, qword [0x1801467e0]
test rax, rax
je 0x180068936
xor r8d, r8d
mov dx, 0x4e
xor ecx, ecx
call fcn.18004d700
mov byte [rsp + 0x44], al
movzx eax, byte [rsp + 0x44]
test eax, eax
jg 0x1800688d0
mov dword [rsp + 0x32c], 1
jmp 0x1800688db
mov dword [rsp + 0x32c], 0
movzx eax, byte [rsp + 0x44]
cmp eax, 0x1b
jg 0x1800688f2
mov dword [rsp + 0x328], 1
jmp 0x1800688fd
mov dword [rsp + 0x328], 0
mov eax, dword [rsp + 0x328]
cmp dword [rsp + 0x32c], eax
jg 0x180068934
movzx eax, word [0x180146834]
cwde
movsx ecx, byte [0x180146767]
add eax, ecx
mov word [0x180146834], ax
mov eax, dword [rsp + 0x64]
xor eax, 0x7a7d557d
mov byte [0x180146722], al
jmp 0x180068978
movzx eax, word [0x180146848]
movsx rax, ax
movabs rcx, 0x9b8918dbc9bc4
sub rax, rcx
mov rcx, qword [0x180146840]
sub rcx, rax
mov rax, rcx
mov qword [0x180146840], rax
movzx eax, word [rsp + 0x4c]
movzx eax, ax
movzx ecx, byte [0x180146726]
xor eax, ecx
mov word [rsp + 0x4c], ax
mov eax, dword [0x18014684c]
add eax, 0x40
mov dword [rsp + 0x64], eax
mov eax, dword [0x1801466f4]
mov eax, eax
mov rcx, qword [rsp + 0x88]
add rax, rcx
mov ecx, dword [0x1801466f4]
mov ecx, ecx
sub rcx, rax
mov rax, rcx
mov dword [0x1801466f4], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0xa0], eax
cmp qword [rsp + 0xb0], 0
je 0x180068bfd
mov rax, qword [0x1801467f8]
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
cmp rax, rcx
jne 0x1800689e9
mov dword [rsp + 0x334], 1
jmp 0x1800689f4
mov dword [rsp + 0x334], 0
mov rax, qword [0x1801467f8]
cmp rax, 0x4f
jne 0x180068a0e
mov dword [rsp + 0x330], 1
jmp 0x180068a19
mov dword [rsp + 0x330], 0
mov eax, dword [rsp + 0x330]
cmp dword [rsp + 0x334], eax
je 0x180068a4a
movzx eax, word [0x180146818]
movsx rax, ax
movabs rcx, 0xd67b0187a7efd
sub rax, rcx
mov qword [0x180146850], rax
jmp 0x180068a83
mov eax, dword [0x1801467cc]
mov eax, eax
mov rcx, qword [0x180146838]
cmp rax, rcx
jge 0x180068a83
movzx eax, word [rsp + 0x48]
movzx eax, ax
add eax, 0x4c57
mov byte [0x180146766], al
movzx eax, word [rsp + 0x48]
movzx eax, ax
sub eax, 0xa5d81f56
mov word [rsp + 0x48], ax
mov r8, qword [rsp + 0xb0]
mov edx, 1
lea rcx, [0x18006e880]
call fcn.180082490
movzx eax, byte [0x180146766]
movzx ecx, byte [0x180146723]
movzx ecx, cl
movzx edx, ax
call fcn.18004dde0
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
movzx eax, al
test eax, eax
jge 0x180068ad2
mov dword [rsp + 0x33c], 1
jmp 0x180068add
mov dword [rsp + 0x33c], 0
movzx eax, byte [rsp + 0x41]
movzx eax, al
cmp eax, 0x18
jge 0x180068af7
mov dword [rsp + 0x338], 1
jmp 0x180068b02
mov dword [rsp + 0x338], 0
mov eax, dword [rsp + 0x338]
cmp dword [rsp + 0x33c], eax
je 0x180068bd5
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x78]
movzx r8d, ax
mov dx, 0x5f
call fcn.18004d700
mov word [rsp + 0x50], ax
movzx eax, word [rsp + 0x50]
movzx eax, ax
test eax, eax
jge 0x180068b4b
mov dword [rsp + 0x344], 1
jmp 0x180068b56
mov dword [rsp + 0x344], 0
movzx eax, word [rsp + 0x50]
movzx eax, ax
cmp eax, 0x62
jge 0x180068b70
mov dword [rsp + 0x340], 1
jmp 0x180068b7b
mov dword [rsp + 0x340], 0
mov eax, dword [rsp + 0x340]
cmp dword [rsp + 0x344], eax
je 0x180068bc0
mov rax, qword [0x180146800]
test rax, rax
je 0x180068bac
movzx eax, word [rsp + 0x4c]
movzx eax, ax
mov ecx, dword [rsp + 0x6c]
add eax, ecx
mov word [rsp + 0x4c], ax
jmp 0x180068bbe
movsx eax, byte [0x1801466df]
add eax, 0xca811612
mov dword [0x18014673c], eax
jmp 0x180068bd3
mov eax, dword [0x18014673c]
sar eax, 5
cdqe
mov qword [rsp + 0x90], rax
jmp 0x180068bf1
mov eax, 4
imul rax, rax, 0x4916
lea rcx, [0x180a91260]
mov eax, dword [rcx + rax]
mov dword [0x18014670c], eax
mov qword [rsp + 0xb0], 0
cmp qword [rsp + 0xa8], 0
je 0x180068db2
movzx eax, word [0x1801467f0]
cwde
shl eax, 4
mov word [rsp + 0x48], ax
movzx eax, word [0x180146834]
movsx rax, ax
cmp qword [0x1801467d8], rax
ja 0x180068c61
lea rax, [rsp + 0x8a8]
lea rcx, str._GetIBoxArrayVtabl
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x8a8]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [rsp + 0x54], ax
jmp 0x180068c7d
mov rax, qword [rsp + 0x80]
mov rcx, qword [0x180146820]
add rcx, rax
mov rax, rcx
mov qword [0x180146820], rax
mov rcx, qword [rsp + 0xa8]
call fcn.1801007ac
movzx eax, byte [rsp + 0x45]
movsx rax, al
cmp rax, qword [0x180146820]
jg 0x180068da6
movsxd rax, dword [0x18014673c]
movabs rcx, 0xfff0f909f8a1db8c
cmp rax, rcx
jl 0x180068cc3
mov dword [rsp + 0x34c], 1
jmp 0x180068cce
mov dword [rsp + 0x34c], 0
movzx eax, word [rsp + 0x48]
movzx eax, ax
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
cmp eax, ecx
je 0x180068cef
mov dword [rsp + 0x348], 1
jmp 0x180068cfa
mov dword [rsp + 0x348], 0
mov eax, dword [rsp + 0x348]
not eax
cmp dword [rsp + 0x34c], eax
jl 0x180068d19
mov dword [rsp + 0x350], 1
jmp 0x180068d24
mov dword [rsp + 0x350], 0
mov eax, dword [rsp + 0x350]
not eax
test eax, eax
je 0x180068d4d
mov eax, dword [0x18014670c]
sub eax, 0x38
movzx ecx, byte [0x180146766]
sub ecx, eax
mov eax, ecx
mov byte [0x180146766], al
jmp 0x180068da6
movzx eax, word [rsp + 0x58]
test eax, eax
je 0x180068d60
mov eax, dword [0x18014684c]
test eax, eax
je 0x180068da6
mov rax, qword [0x180146828]
inc rax
mov qword [0x180146828], rax
movzx eax, word [rsp + 0x54]
movzx eax, ax
test eax, eax
jne 0x180068d8a
mov dword [rsp + 0x354], 1
jmp 0x180068d95
mov dword [rsp + 0x354], 0
mov eax, dword [rsp + 0x6c]
sub eax, dword [rsp + 0x354]
mov byte [0x180146722], al
mov qword [rsp + 0xa8], 0
movzx eax, word [rsp + 0x54]
mov byte [0x180146726], al
movzx eax, byte [rsp + 0x43]
mov ecx, dword [0x18014670c]
add eax, ecx
movzx ecx, byte [rsp + 0x43]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x43], al
mov eax, dword [rsp + 0xa0]
jmp 0x18006c283
lea rax, [rsp + 0x778]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, qword [rsp + 0xb0]
mov edx, 3
lea rcx, [fcn.18006e900]
call fcn.180082490
test eax, eax
jne 0x18006b064
mov eax, dword [rsp + 0x64]
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
cmp eax, ecx
jge 0x180068e34
mov dword [rsp + 0x35c], 1
jmp 0x180068e3f
mov dword [rsp + 0x35c], 0
mov eax, dword [rsp + 0x64]
cmp eax, 0x4d
jge 0x180068e55
mov dword [rsp + 0x358], 1
jmp 0x180068e60
mov dword [rsp + 0x358], 0
mov eax, dword [rsp + 0x358]
cmp dword [rsp + 0x35c], eax
jl 0x180068f6b
mov eax, dword [rsp + 0x68]
cmp eax, 0xfd44a528
jbe 0x180068e8c
mov dword [rsp + 0x360], 1
jmp 0x180068e97
mov dword [rsp + 0x360], 0
movzx eax, word [0x180146858]
movzx eax, ax
cmp eax, dword [rsp + 0x360]
jl 0x180068eb7
mov dword [rsp + 0x368], 1
jmp 0x180068ec2
mov dword [rsp + 0x368], 0
movzx eax, word [rsp + 0x54]
movzx eax, ax
not eax
movzx ecx, word [0x180146848]
movsx ecx, cx
add eax, ecx
movsx ecx, byte [0x180146727]
cmp eax, ecx
jle 0x180068ef0
mov dword [rsp + 0x364], 1
jmp 0x180068efb
mov dword [rsp + 0x364], 0
mov eax, dword [rsp + 0x364]
not eax
cmp dword [rsp + 0x368], eax
jle 0x180068f5a
movzx eax, byte [rsp + 0x43]
movzx ecx, word [0x180146764]
movsx ecx, cx
xor eax, ecx
test eax, eax
jne 0x180068f2f
mov dword [rsp + 0x36c], 1
jmp 0x180068f3a
mov dword [rsp + 0x36c], 0
movzx eax, word [0x180146818]
cwde
and eax, dword [rsp + 0x36c]
cdqe
mov rcx, qword [rsp + 0x78]
sub rax, rcx
mov word [rsp + 0x58], ax
jmp 0x180068f6b
mov rax, qword [0x1801467e8]
sar rax, 8
mov dword [0x1801466f4], eax
movzx eax, word [0x18014685c]
movsx rax, ax
mov ecx, dword [0x1801467f4]
movsxd rcx, ecx
mov qword [rsp + 0x28], 0x97
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x3d
xor edx, edx
call fcn.18004d370
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x90]
not rax
test rax, rax
je 0x180068fcc
movzx eax, byte [0x180146722]
movsx eax, al
test eax, eax
je 0x180068fcc
mov dword [rsp + 0x370], 1
jmp 0x180068fd7
mov dword [rsp + 0x370], 0
cmp dword [rsp + 0x370], 0
jl 0x180068fee
mov dword [rsp + 0x374], 1
jmp 0x180068ff9
mov dword [rsp + 0x374], 0
mov eax, dword [rsp + 0x374]
not eax
test eax, eax
je 0x180069076
mov rax, qword [0x180146810]
test rax, rax
jne 0x18006901f
mov dword [rsp + 0x378], 1
jmp 0x18006902a
mov dword [rsp + 0x378], 0
mov eax, dword [rsp + 0x64]
test eax, eax
jne 0x18006903f
mov dword [rsp + 0x37c], 1
jmp 0x18006904a
mov dword [rsp + 0x37c], 0
movzx eax, word [0x1801467f0]
cwde
movzx ecx, byte [0x180146762]
movsx ecx, cl
add eax, ecx
mov ecx, dword [rsp + 0x378]
sub ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x37c]
mov dword [rsp + 0x64], eax
jmp 0x1800690a4
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x1800690a4
movzx eax, byte [0x18014673b]
movzx eax, al
imul eax, eax, 5
mov byte [0x180146721], al
mov rax, qword [rsp + 0x90]
sub rax, 0xe1
mov qword [rsp + 0x78], rax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x180], eax
movzx eax, word [0x18014685c]
cwde
movzx ecx, byte [rsp + 0x43]
imul eax, ecx
test eax, eax
jne 0x1800690d3
mov qword [rsp + 0x660], 1
jmp 0x1800690df
mov qword [rsp + 0x660], 0
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov rcx, qword [0x1801467d8]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x660]
sub rcx, rax
mov rax, rcx
test rax, rax
jne 0x180069115
mov qword [rsp + 0x668], 1
jmp 0x180069121
mov qword [rsp + 0x668], 0
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x668]
sub rcx, rax
mov rax, rcx
test rax, rax
jne 0x18006914a
mov qword [rsp + 0x670], 1
jmp 0x180069156
mov qword [rsp + 0x670], 0
mov rax, qword [rsp + 0x670]
mov qword [0x1801467f8], rax
movzx eax, word [0x1801467b4]
movzx eax, ax
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
sub eax, ecx
movzx ecx, word [0x1801467b4]
movzx ecx, cx
and ecx, eax
mov eax, ecx
mov word [0x1801467b4], ax
mov eax, dword [rsp + 0x180]
add eax, 0x58d
mov dword [rsp + 0x6f4], eax
movsx ax, byte [rsp + 0x40]
mov ecx, 2
imul rcx, rcx, 0x63
lea rdx, [0x180b62fe0]
mov word [rdx + rcx], ax
mov eax, dword [0x180976cc0]
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x180]
add eax, 0x6a7
mov dword [rsp + 0x544], eax
mov eax, dword [rsp + 0x6c]
cdqe
cmp rax, qword [rsp + 0x98]
jge 0x180069258
movzx eax, byte [0x180146722]
movsx ax, al
movzx r8d, word [0x18014685c]
movzx edx, ax
movzx ecx, word [rsp + 0x58]
call fcn.18004d700
mov word [rsp + 0x60], ax
cmp qword [rsp + 0x90], 0
je 0x18006924f
lea rax, [rsp + 0x8d0]
lea rcx, [0x180110860]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x8d0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
mov qword [rsp + 0x88], rax
jmp 0x180069256
movsx eax, byte [rsp + 0x42]
not eax
jmp 0x180069286
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x180069286
movabs rax, 0x5c6f07e41d297
mov rcx, qword [0x1801467d8]
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x44], al
mov qword [rsp + 0x78], 0x1b09
mov eax, dword [rsp + 0x180]
add eax, 0x4e3
mov dword [rsp + 0x540], eax
mov eax, dword [rsp + 0x540]
mov ecx, dword [rsp + 0x544]
add ecx, 0x21f
cmp eax, ecx
je 0x18006b064
movzx eax, word [rsp + 0x5c]
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
movzx ecx, byte [0x18014673c]
mov byte [rsp + 0x20], cl
mov r9b, 0x7e
mov r8b, 0x93
xor edx, edx
movzx ecx, al
call fcn.18004dab0
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x43]
test eax, eax
jge 0x1800692f9
mov dword [rsp + 0x384], 1
jmp 0x180069304
mov dword [rsp + 0x384], 0
movzx eax, byte [rsp + 0x43]
cmp eax, 0x29
jge 0x18006931b
mov dword [rsp + 0x380], 1
jmp 0x180069326
mov dword [rsp + 0x380], 0
mov eax, dword [rsp + 0x380]
cmp dword [rsp + 0x384], eax
jne 0x18006940b
movsx eax, byte [0x1801466df]
movzx ecx, word [0x180146858]
movzx ecx, cx
cmp eax, ecx
je 0x18006935c
mov dword [rsp + 0x38c], 1
jmp 0x180069367
mov dword [rsp + 0x38c], 0
movsx eax, byte [0x1801466df]
cmp eax, 6
je 0x180069380
mov dword [rsp + 0x388], 1
jmp 0x18006938b
mov dword [rsp + 0x388], 0
mov eax, dword [rsp + 0x388]
cmp dword [rsp + 0x38c], eax
jge 0x1800693b9
mov eax, dword [rsp + 0x64]
imul eax, eax, 0x2e
mov dword [rsp + 0x68], eax
movzx eax, byte [0x180146721]
movsx eax, al
imul eax, eax, 0x25
mov dword [rsp + 0x64], eax
jmp 0x180069409
movsx eax, word [rsp + 0x60]
test eax, eax
jne 0x1800693cf
mov dword [rsp + 0x390], 1
jmp 0x1800693da
mov dword [rsp + 0x390], 0
movzx eax, word [rsp + 0x58]
cmp eax, dword [rsp + 0x390]
jne 0x180069409
mov rax, qword [0x1801467f8]
add rax, 0x61b88197
mov dword [0x1801467cc], eax
mov eax, dword [rsp + 0x64]
shl eax, 5
mov word [0x180146848], ax
jmp 0x180069469
mov eax, dword [rsp + 0x68]
mov ecx, dword [0x1801466f4]
cmp eax, ecx
jae 0x180069469
mov eax, dword [0x1801467f4]
mov ecx, 1
imul rcx, rcx, 0x79
lea rdx, [0x180977460]
mov byte [rdx + rcx], al
mov rax, qword [0x180146828]
test rax, rax
je 0x18006944b
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x394], eax
jmp 0x18006945a
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov dword [rsp + 0x394], eax
movsxd rax, dword [rsp + 0x394]
mov qword [0x1801467d8], rax
call fcn.18002f030
mov dword [rsp + 0xa0], eax
cmp qword [rsp + 0xb0], 0
je 0x180069638
movzx eax, word [rsp + 0x48]
movzx eax, ax
movzx ecx, byte [0x180146766]
cmp eax, ecx
jl 0x1800694a4
mov dword [rsp + 0x39c], 1
jmp 0x1800694af
mov dword [rsp + 0x39c], 0
movzx eax, word [rsp + 0x48]
movzx eax, ax
cmp eax, 0x64
jl 0x1800694c9
mov dword [rsp + 0x398], 1
jmp 0x1800694d4
mov dword [rsp + 0x398], 0
mov eax, dword [rsp + 0x398]
cmp dword [rsp + 0x39c], eax
je 0x180069574
movzx eax, byte [0x180146723]
movzx eax, al
test eax, eax
je 0x180069509
movzx eax, word [rsp + 0x5c]
movzx eax, ax
add eax, 0xbb
mov dword [rsp + 0x6c], eax
jmp 0x180069574
mov rax, qword [rsp + 0x88]
not rax
test rax, rax
je 0x180069535
movzx eax, word [0x180146830]
mov ecx, 4
imul rcx, rcx, 0xa
lea rdx, [0x180b62be0]
mov dword [rdx + rcx], eax
jmp 0x180069574
mov rax, qword [0x180146828]
not rax
test rax, rax
je 0x180069574
movzx eax, byte [rsp + 0x43]
not eax
test eax, eax
jne 0x180069556
xor eax, eax
cmp eax, 0xa
je 0x180069574
movzx eax, word [rsp + 0x58]
imul eax, eax, 0xe7f8c0f7
mov word [0x180146848], ax
mov eax, 0xffff9c58
mov word [0x1801467f0], ax
mov r8, qword [rsp + 0xb0]
mov edx, 1
lea rcx, [0x18006e880]
call fcn.180082490
cmp qword [rsp + 0x90], 0
jne 0x1800695a5
mov dword [rsp + 0x3a0], 1
jmp 0x1800695b0
mov dword [rsp + 0x3a0], 0
movzx eax, word [0x1801467b4]
movzx eax, ax
cmp eax, dword [rsp + 0x3a0]
jle 0x180069607
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x180069605
movzx eax, byte [0x180146775]
movsx eax, al
test eax, eax
je 0x1800695e9
movsx rax, byte [rsp + 0x42]
mov qword [rsp + 0x678], rax
jmp 0x1800695f9
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x678], rax
movzx eax, byte [rsp + 0x678]
mov byte [rsp + 0x42], al
jmp 0x18006962c
movsx eax, byte [0x18014670b]
test eax, eax
je 0x18006962c
mov byte [0x180146723], 0xa8
movzx eax, word [rsp + 0x48]
movzx eax, ax
xor eax, 0xae
mov byte [0x180146727], al
mov qword [rsp + 0xb0], 0
mov eax, dword [rsp + 0x548]
mov ecx, dword [rsp + 0x3a4]
mov edx, dword [rsp + 0x3a4]
imul ecx, edx
mov edx, 0xfc
sub edx, ecx
mov ecx, edx
cmp eax, ecx
je 0x18006adc3
movzx eax, byte [rsp + 0x43]
movabs rcx, 0x36f7907884f76
sub rax, rcx
mov byte [rsp + 0x42], al
movzx eax, word [rsp + 0x4c]
movzx eax, ax
mov ecx, 8
imul rcx, rcx, 0x468
lea rdx, [0x180a04440]
mov qword [rdx + rcx], rax
movsx eax, byte [0x18014670b]
sar eax, 3
mov dword [rsp + 0x6c], eax
mov eax, 2
imul rax, rax, 0x41ac
lea rcx, [0x180b63710]
movzx eax, word [rcx + rax]
mov word [0x180146764], ax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x168], eax
mov eax, dword [0x1801467f4]
test eax, eax
je 0x18006973c
movsx eax, word [0x180146724]
test eax, eax
je 0x1800696f4
mov rax, qword [0x1801467e0]
mov word [0x180146848], ax
jmp 0x18006973a
movsx rax, byte [rsp + 0x42]
movabs rcx, 0x6005d3fa2125f
imul rax, rcx
movsx rcx, byte [rsp + 0x40]
and rcx, rax
mov rax, rcx
mov byte [rsp + 0x40], al
movzx eax, word [rsp + 0x48]
movzx eax, ax
mov ecx, dword [0x1801467f4]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x1801467f4]
sub ecx, eax
mov eax, ecx
mov dword [0x1801467f4], eax
jmp 0x18006975f
mov eax, dword [0x1801467f4]
test eax, eax
je 0x18006975f
movzx eax, word [rsp + 0x58]
movzx ecx, byte [0x180146722]
movsx ecx, cl
lea eax, [rax + rcx - 0x2e]
mov dword [0x18014684c], eax
mov eax, dword [rsp + 0x168]
add eax, 0x3bc
mov dword [rsp + 0x6f8], eax
mov eax, 2
mov word [rsp + 0x48], ax
movzx eax, word [rsp + 0x58]
mov ecx, dword [rsp + 0x6c]
sub eax, ecx
mov word [rsp + 0x58], ax
movzx eax, word [rsp + 0x48]
movzx eax, ax
mov dword [rsp + 0x164], eax
cmp dword [rsp + 0x164], 0
je 0x1800697bb
cmp dword [rsp + 0x164], 1
je 0x1800697d0
cmp dword [rsp + 0x164], 2
je 0x18006981e
jmp 0x180069830
movzx eax, byte [0x18014673b]
movzx eax, al
add eax, 0x83
mov byte [rsp + 0x43], al
jmp 0x180069830
movzx eax, word [0x1801467f0]
movsx rax, ax
mov rcx, qword [0x1801467e0]
xor rcx, 0x6580
not rcx
add rax, rcx
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
mov edx, dword [0x18014670c]
not edx
movzx edi, byte [0x180146721]
movsx edi, dil
not edi
imul edx, edi
imul ecx, edx
mov ecx, ecx
xor rax, rcx
mov word [rsp + 0x58], ax
jmp 0x180069830
movzx eax, word [0x18014685c]
cwde
imul eax, eax, 0x8138
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x168]
add eax, 0xe8aa
mov dword [rsp + 0x54c], eax
movzx eax, byte [rsp + 0x45]
movsx rax, al
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
mov qword [rsp + 0x28], 0xf3
mov qword [rsp + 0x20], 0
mov r9, rax
mov r8d, 0x28
mov edx, ecx
mov rcx, qword [0x180146808]
call fcn.18004d370
mov byte [rsp + 0x40], al
movsx eax, byte [rsp + 0x40]
test eax, eax
je 0x1800699ba
mov qword [rsp + 0x90], 3
mov eax, dword [rsp + 0x6c]
cdqe
sub rax, qword [0x180146808]
mov ecx, dword [rsp + 0x6c]
movsxd rcx, ecx
and rcx, rax
mov rax, rcx
mov dword [rsp + 0x6c], eax
mov eax, dword [0x180976cc0]
mov qword [0x1801467e0], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x4c8], rax
cmp qword [rsp + 0x4c8], 0
je 0x180069906
cmp qword [rsp + 0x4c8], 1
je 0x180069945
cmp qword [rsp + 0x4c8], 2
je 0x180069955
cmp qword [rsp + 0x4c8], 3
je 0x180069973
jmp 0x1800699b8
movzx eax, word [rsp + 0x4c]
mov ecx, 2
imul rcx, rcx, 0x62ec
lea rdx, [0x180a80e40]
mov word [rdx + rcx], ax
movzx eax, byte [rsp + 0x44]
movzx ecx, word [0x180146834]
movsx ecx, cx
and eax, ecx
mov ecx, dword [rsp + 0x6c]
add eax, ecx
cdqe
mov qword [rsp + 0x80], rax
jmp 0x1800699b8
mov eax, dword [rsp + 0x68]
sub eax, 0x518c
mov word [rsp + 0x60], ax
jmp 0x1800699b8
movzx eax, word [0x180146818]
movsx rax, ax
mov rcx, qword [0x180146800]
and rax, rcx
mov word [0x180146818], ax
jmp 0x1800699b8
mov rax, qword [0x180146828]
add rax, 0xfd
mov dword [rsp + 0x70], eax
mov eax, dword [0x1801466f4]
test eax, eax
je 0x18006999c
movzx eax, byte [rsp + 0x45]
mov byte [rsp + 0xa5], al
jmp 0x1800699aa
movzx eax, byte [0x1801466f3]
mov byte [rsp + 0xa5], al
movzx eax, byte [rsp + 0xa5]
mov byte [0x180146767], al
jmp 0x1800699ef
movzx eax, word [rsp + 0x58]
movzx ecx, word [rsp + 0x5c]
movzx ecx, cx
sub eax, ecx
test eax, eax
je 0x1800699ef
movsx eax, byte [rsp + 0x40]
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
movsx edx, byte [0x1801466f3]
add ecx, edx
imul eax, ecx
cdqe
mov qword [0x1801467e0], rax
mov eax, dword [rsp + 0x168]
add eax, 0x101be
mov dword [rsp + 0x550], eax
movzx eax, byte [rsp + 0x44]
mov ecx, 0xfd0e
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x180069a22
mov qword [rsp + 0x680], 1
jmp 0x180069a2e
mov qword [rsp + 0x680], 0
mov rax, qword [0x180146810]
sub rax, qword [rsp + 0x680]
mov byte [rsp + 0x44], al
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x180069a62
movsx eax, byte [0x180146767]
movsx ecx, byte [0x18014670b]
sub eax, ecx
mov byte [0x180146767], al
jmp 0x180069a96
mov eax, 2
imul rax, rax, 0x39
lea rcx, [0x1809773c0]
movzx eax, word [rcx + rax]
mov ecx, dword [rsp + 0x68]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x68], eax
movzx eax, word [rsp + 0x50]
movzx eax, ax
movsx ecx, word [rsp + 0x60]
sub eax, ecx
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x54c]
mov ecx, dword [rsp + 0x550]
xor eax, ecx
add eax, 0xff
xor eax, 0x1e96d
mov dword [rsp + 0x560], eax
movabs rax, 0xde59dc1a6b2ec
mov qword [rsp + 0x80], rax
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x16c], eax
movsx eax, byte [0x180146767]
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
cmp eax, ecx
jge 0x180069af6
mov dword [rsp + 0x3ac], 1
jmp 0x180069b01
mov dword [rsp + 0x3ac], 0
movsx eax, byte [0x180146767]
cmp eax, 0x34
jge 0x180069b1a
mov dword [rsp + 0x3a8], 1
jmp 0x180069b25
mov dword [rsp + 0x3a8], 0
mov eax, dword [rsp + 0x3a8]
cmp dword [rsp + 0x3ac], eax
jl 0x180069b43
mov eax, dword [0x180976cc0]
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x16c]
add eax, 0x3e6
mov dword [rsp + 0x744], eax
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov ecx, dword [0x1801467cc]
cmp eax, ecx
ja 0x180069baa
mov rax, qword [0x180146838]
not rax
mov rcx, qword [0x180146800]
add rcx, rax
mov rax, rcx
mov dword [0x1801466f4], eax
movzx eax, word [rsp + 0x48]
movzx eax, ax
sub eax, 0x12ed3b1c
cdqe
mov rcx, qword [0x180146820]
add rcx, rax
mov rax, rcx
mov qword [0x180146820], rax
jmp 0x180069bd4
movzx eax, word [0x180146818]
cwde
not eax
test eax, eax
je 0x180069bd4
movzx eax, word [rsp + 0x50]
movzx eax, ax
add eax, 0xd
mov dword [0x18014684c], eax
movzx eax, byte [0x180976cc0]
mov byte [rsp + 0x45], al
mov eax, dword [rsp + 0x16c]
add eax, 0x40a
mov dword [rsp + 0x700], eax
mov byte [0x180146762], 4
movsxd rax, dword [0x18014673c]
mov rcx, qword [rsp + 0x78]
add rax, rcx
movsxd rcx, dword [0x18014673c]
add rcx, rax
mov rax, rcx
mov dword [0x18014673c], eax
movzx eax, byte [0x180146762]
mov byte [rsp + 0xd8], al
cmp byte [rsp + 0xd8], 0
je 0x180069c59
cmp byte [rsp + 0xd8], 1
je 0x180069c69
cmp byte [rsp + 0xd8], 2
je 0x180069c86
cmp byte [rsp + 0xd8], 3
je 0x180069c97
cmp byte [rsp + 0xd8], 4
je 0x180069cd5
jmp 0x180069d24
mov qword [0x180146840], 0xff
jmp 0x180069d24
movzx eax, word [0x180976cc0]
mov word [0x180146830], ax
mov eax, dword [rsp + 0x70]
add eax, eax
mov byte [rsp + 0x40], al
jmp 0x180069d24
mov eax, 4
mov word [0x1801467f0], ax
jmp 0x180069d24
mov eax, 2
mov word [rsp + 0x58], ax
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x180069cb8
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x688], rax
jmp 0x180069cc6
mov eax, dword [rsp + 0x64]
cdqe
mov qword [rsp + 0x688], rax
movzx eax, word [rsp + 0x688]
mov word [rsp + 0x5c], ax
jmp 0x180069d24
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov rcx, qword [rsp + 0x88]
imul rcx, rax
mov rax, rcx
movsx rcx, byte [rsp + 0x42]
mov rdx, qword [0x180146800]
xor rdx, rcx
mov rcx, rdx
add rax, rcx
mov qword [0x1801467e0], rax
movzx eax, word [rsp + 0x54]
movzx eax, ax
not eax
movzx ecx, word [0x180146848]
movsx ecx, cx
add eax, ecx
mov word [rsp + 0x60], ax
mov eax, dword [rsp + 0x16c]
add eax, 0x356
mov dword [rsp + 0x554], eax
mov r8w, 0x2a
xor edx, edx
mov cx, 0x42
call fcn.18004d700
movzx eax, ax
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
test rax, rax
jl 0x180069e1d
mov dx, 0x27
mov cx, 0xcc
call fcn.18004dde0
mov byte [0x180146762], al
movzx eax, byte [0x180146762]
movsx eax, al
test eax, eax
jl 0x180069df1
mov rax, qword [rsp + 0x80]
movzx ecx, byte [0x180146762]
movsx rcx, cl
cmp rax, rcx
jg 0x180069da9
mov dword [rsp + 0x3b4], 1
jmp 0x180069db4
mov dword [rsp + 0x3b4], 0
mov rax, qword [rsp + 0x80]
cmp rax, 0x60
jg 0x180069dcf
mov dword [rsp + 0x3b0], 1
jmp 0x180069dda
mov dword [rsp + 0x3b0], 0
mov eax, dword [rsp + 0x3b0]
cmp dword [rsp + 0x3b4], eax
jg 0x180069def
mov byte [rsp + 0x45], 0x93
jmp 0x180069e1b
mov eax, dword [0x1801467f4]
test eax, eax
je 0x180069e1b
mov eax, dword [rsp + 0x68]
imul eax, eax, 0x4afc9134
cdqe
mov rcx, qword [0x1801467d8]
add rcx, rax
mov rax, rcx
mov qword [0x1801467d8], rax
jmp 0x180069e33
movzx eax, byte [0x180146721]
movsx eax, al
sar eax, 3
cdqe
mov qword [0x1801467f8], rax
mov dx, 0x9c
mov cx, 0xfa
call fcn.18004dde0
cwde
mov dword [rsp + 0x68], eax
movzx eax, byte [rsp + 0x43]
cmp eax, 0x83e4
jle 0x180069f7a
movsx rax, byte [0x1801466df]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jb 0x180069e80
mov rax, qword [rsp + 0x90]
sub rax, 0xd1
mov byte [0x180146763], al
jmp 0x180069f75
mov rax, qword [0x180146840]
test rax, rax
je 0x180069eaa
movsx rax, byte [0x180146727]
movabs rcx, 0x23498189e4e3
sub rax, rcx
mov dword [rsp + 0x70], eax
jmp 0x180069f75
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x180069f08
movzx eax, word [0x180146848]
cwde
test eax, eax
jne 0x180069ed0
mov dword [rsp + 0x3b8], 1
jmp 0x180069edb
mov dword [rsp + 0x3b8], 0
movzx eax, word [rsp + 0x5c]
movzx eax, ax
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
imul ecx, dword [rsp + 0x3b8]
sub eax, ecx
cdqe
imul rax, qword [0x1801467d8]
mov qword [0x180146838], rax
jmp 0x180069f75
mov rax, qword [0x1801467f8]
movzx ecx, word [0x1801467b4]
movzx ecx, cx
cmp rax, rcx
jne 0x180069f2b
mov dword [rsp + 0x3c0], 1
jmp 0x180069f36
mov dword [rsp + 0x3c0], 0
movsx eax, byte [rsp + 0x42]
movsx ecx, word [0x180146724]
cmp eax, ecx
jne 0x180069f53
mov dword [rsp + 0x3bc], 1
jmp 0x180069f5e
mov dword [rsp + 0x3bc], 0
mov eax, dword [rsp + 0x3bc]
cmp dword [rsp + 0x3c0], eax
jle 0x180069f75
mov byte [0x180146766], 1
jmp 0x18006a048
movzx eax, word [0x180146818]
cwde
not eax
movzx ecx, word [0x1801467b4]
movzx ecx, cx
cmp eax, ecx
jle 0x180069fa0
mov qword [rsp + 0x690], 1
jmp 0x180069fac
mov qword [rsp + 0x690], 0
mov rax, qword [0x180146800]
not rax
sub rax, qword [rsp + 0x690]
test rax, rax
je 0x180069fdf
mov eax, dword [rsp + 0x68]
cdqe
mov rcx, qword [0x180146840]
xor rcx, rax
mov rax, rcx
mov qword [0x180146840], rax
jmp 0x18006a048
movzx eax, word [0x1801467f0]
cwde
test eax, eax
je 0x18006a033
movzx eax, byte [rsp + 0x43]
and eax, 0xee
movzx ecx, byte [0x18014673b]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x18014673b], al
mov rax, qword [rsp + 0x80]
mov rcx, qword [0x180146810]
sub rax, rcx
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x18006a048
xor eax, eax
test eax, eax
je 0x18006a048
movzx eax, word [rsp + 0x4c]
movzx eax, ax
imul eax, eax, 0x71
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x554]
xor eax, 0x59
xor eax, 0x792
mov dword [rsp + 0x564], eax
movzx eax, byte [0x180146721]
movsx eax, al
movzx ecx, word [rsp + 0x58]
sub eax, ecx
mov byte [0x180146721], al
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x170], eax
mov rax, qword [rsp + 0x78]
mov rcx, qword [0x180146840]
cmp rax, rcx
ja 0x18006a0a0
mov dword [rsp + 0x3c8], 1
jmp 0x18006a0ab
mov dword [rsp + 0x3c8], 0
movsx eax, byte [rsp + 0x40]
test eax, eax
jne 0x18006a0c1
mov dword [rsp + 0x3c4], 1
jmp 0x18006a0cc
mov dword [rsp + 0x3c4], 0
mov eax, dword [rsp + 0x3c4]
cmp dword [rsp + 0x3c8], eax
jge 0x18006a0e9
mov dword [rsp + 0x3d8], 1
jmp 0x18006a0f4
mov dword [rsp + 0x3d8], 0
mov rax, qword [rsp + 0x88]
not rax
cmp rax, 0x5a36
jne 0x18006a114
mov dword [rsp + 0x3d0], 1
jmp 0x18006a11f
mov dword [rsp + 0x3d0], 0
movzx eax, word [rsp + 0x58]
cmp eax, 0xffff00a7
jl 0x18006a138
mov dword [rsp + 0x3cc], 1
jmp 0x18006a143
mov dword [rsp + 0x3cc], 0
mov eax, dword [rsp + 0x3cc]
cmp dword [rsp + 0x3d0], eax
jl 0x18006a160
mov dword [rsp + 0x3d4], 1
jmp 0x18006a16b
mov dword [rsp + 0x3d4], 0
mov eax, dword [rsp + 0x3d4]
cmp dword [rsp + 0x3d8], eax
jle 0x18006a25d
mov eax, dword [rsp + 0x68]
cdqe
cmp qword [0x1801467d8], rax
jb 0x18006a19b
mov dword [rsp + 0x3e0], 1
jmp 0x18006a1a6
mov dword [rsp + 0x3e0], 0
cmp qword [0x1801467d8], 0x54
jb 0x18006a1bd
movzx eax, word [rsp + 0x54]
movzx eax, ax
not eax
test eax, eax
je 0x18006a281
movzx eax, word [0x18014681c]
cwde
add eax, 0x5acf
mov word [0x1801467f0], ax
jmp 0x18006a2b3
movzx eax, word [rsp + 0x48]
movzx eax, ax
test eax, eax
jne 0x18006a2b3
cmp qword [rsp + 0x98], 0
jne 0x18006ade7
movzx eax, word [0x18014685c]
cwde
test eax, eax
jne 0x18006ade7
mov dword [rsp + 0x43c], 0
jmp 0x18006adf2
mov dword [rsp + 0x43c], 1
mov eax, dword [rsp + 0x68]
cmp eax, dword [rsp + 0x43c]
jle 0x18006ae0c
mov dword [rsp + 0x440], 1
jmp 0x18006ae17
mov dword [rsp + 0x440], 0
mov eax, dword [rsp + 0x440]
not eax
cdqe
mov rcx, qword [0x1801467f8]
cmp rax, rcx
jge 0x18006b001
mov r8w, 0xdf
movzx edx, word [0x180146820]
movzx ecx, word [rsp + 0x5c]
call fcn.18004d700
mov byte [rsp + 0x40], al
movsx eax, byte [rsp + 0x40]
test eax, eax
je 0x18006af61
mov eax, dword [rsp + 0x68]
cdqe
mov qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8d, 0x44
mov rdx, rax
mov ecx, 0xd0
call fcn.18004d370
mov word [rsp + 0x48], ax
movzx eax, word [rsp + 0x48]
movzx eax, ax
test eax, eax
je 0x18006aefb
movzx eax, byte [0x180146766]
movzx ecx, word [0x180146858]
movzx ecx, cx
cmp eax, ecx
je 0x18006aec5
mov rax, qword [rsp + 0x78]
sub rax, 0xa949
mov qword [0x180146808], rax
jmp 0x18006aef9
movabs rax, 0xc76cdbf813d48
xor ecx, ecx
cmp rcx, rax
je 0x18006aef9
mov dword [0x18014670c], 0x53b1c80f
mov eax, dword [rsp + 0x64]
cdqe
movabs rcx, 0xf74405e6a9877
and rax, rcx
mov dword [0x1801467f4], eax
jmp 0x18006af5c
movsxd rax, dword [0x18014673c]
movabs rcx, 0xd495336296ded
mov rdx, qword [rsp + 0x90]
xor rdx, rcx
mov rcx, rdx
or rax, rcx
test rax, rax
jne 0x18006af31
mov eax, 1
mov word [rsp + 0xc2], ax
jmp 0x18006af3b
xor eax, eax
mov word [rsp + 0xc2], ax
movzx eax, word [rsp + 0xc2]
mov word [rsp + 0x60], ax
movzx eax, word [0x180146848]
cwde
sar eax, 1
cdqe
mov qword [rsp + 0x90], rax
jmp 0x18006afff
movzx eax, word [rsp + 0x4c]
movzx eax, ax
test eax, eax
jne 0x18006af7a
mov dword [rsp + 0x444], 1
jmp 0x18006af85
mov dword [rsp + 0x444], 0
movsx eax, word [rsp + 0x60]
cmp eax, dword [rsp + 0x444]
jle 0x18006afcc
movzx eax, word [rsp + 0x54]
movzx eax, ax
sar eax, 7
mov word [rsp + 0x54], ax
movzx eax, byte [rsp + 0x45]
movsx rax, al
movabs rcx, 0x856ef1c31fb2
xor rax, rcx
mov ecx, dword [rsp + 0x68]
movsxd rcx, ecx
and rcx, rax
mov rax, rcx
mov dword [rsp + 0x68], eax
jmp 0x18006afff
mov eax, dword [rsp + 0x68]
movzx ecx, word [0x180146764]
movsx ecx, cx
cmp eax, ecx
jl 0x18006afff
mov eax, dword [rsp + 0x6c]
sub eax, 0x7ad74f26
mov word [0x1801467b4], ax
movsx eax, byte [rsp + 0x42]
mov ecx, dword [rsp + 0x64]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x18006b058
mov rax, qword [rsp + 0x80]
not rax
test rax, rax
je 0x18006b058
mov eax, 0xbb
mov word [rsp + 0x5c], ax
movzx eax, word [rsp + 0x4c]
movzx eax, ax
not eax
cdqe
imul rax, qword [rsp + 0x90]
test rax, rax
jne 0x18006b042
mov dword [rsp + 0x448], 1
jmp 0x18006b04d
mov dword [rsp + 0x448], 0
mov eax, dword [rsp + 0x448]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0xa0]
jmp 0x18006c283
mov rax, qword [0x180146850]
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x90]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
cmp dword [rsp + 0x77c], 1
je 0x18006bf67
mov r8w, 0xe4
mov dx, 0xf9
mov cx, 0xd2
call fcn.18004d700
mov byte [rsp + 0x40], al
movsx eax, byte [rsp + 0x40]
test eax, eax
jge 0x18006b0be
jmp 0x18006b0e3
movzx eax, byte [rsp + 0x43]
mov byte [0x180146723], al
mov rax, qword [rsp + 0x88]
movabs rcx, 0x1519ad2fe028f
add rax, rcx
mov word [rsp + 0x54], ax
mov ecx, dword [rsp + 0x790]
call fcn.18006ed90
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0x24
lea rax, [rsp + 0x778]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0xb0]
mov edx, 5
lea rcx, [0x18006ecf0]
call fcn.180082490
test eax, eax
jne 0x18006b8b0
movsx eax, byte [0x1801466f3]
movzx ecx, byte [rsp + 0x44]
cmp eax, ecx
je 0x18006b153
mov dword [rsp + 0x450], 1
jmp 0x18006b15e
mov dword [rsp + 0x450], 0
movsx eax, byte [0x1801466f3]
cmp eax, 0x13
je 0x18006b177
mov dword [rsp + 0x44c], 1
jmp 0x18006b182
mov dword [rsp + 0x44c], 0
mov eax, dword [rsp + 0x44c]
cmp dword [rsp + 0x450], eax
jg 0x18006b35f
mov eax, dword [rsp + 0x64]
cdqe
mov qword [rsp + 0x28], 0x1e
mov rcx, qword [0x180146810]
mov qword [rsp + 0x20], rcx
mov r9, rax
mov r8d, 0xf
mov rdx, qword [0x1801467d8]
xor ecx, ecx
call fcn.18004d370
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
je 0x18006b2a3
movzx eax, word [rsp + 0x58]
sub eax, 0xc7122f00
mov word [0x180146858], ax
movsx rax, byte [0x1801466f3]
mov rcx, qword [0x1801467f8]
add rax, rcx
test rax, rax
jne 0x18006b20c
mov dword [rsp + 0x454], 1
jmp 0x18006b217
mov dword [rsp + 0x454], 0
movzx eax, byte [rsp + 0x43]
mov rcx, qword [rsp + 0x88]
not rcx
imul rax, rcx
test rax, rax
jne 0x18006b23d
mov dword [rsp + 0x45c], 1
jmp 0x18006b248
mov dword [rsp + 0x45c], 0
movzx eax, word [rsp + 0x54]
movzx eax, ax
test eax, eax
jne 0x18006b261
mov dword [rsp + 0x458], 1
jmp 0x18006b26c
mov dword [rsp + 0x458], 0
mov eax, dword [0x18014670c]
not eax
movsx ecx, byte [rsp + 0x42]
not ecx
sub eax, ecx
not eax
sub eax, dword [rsp + 0x454]
mov ecx, dword [rsp + 0x458]
mov edx, dword [rsp + 0x45c]
sub edx, ecx
mov ecx, edx
or eax, ecx
mov byte [rsp + 0x40], al
jmp 0x18006b35f
movzx eax, word [rsp + 0x5c]
movzx eax, ax
test eax, eax
je 0x18006b2ea
mov eax, 1
imul rax, rax, 0xf
lea rcx, [0x180b91600]
movsx eax, byte [rcx + rax]
movsx ecx, byte [0x1801466f3]
and ecx, eax
mov eax, ecx
mov byte [0x1801466f3], al
mov rax, qword [0x180146840]
sub rax, 0x495986cf
mov qword [0x180146808], rax
jmp 0x18006b35f
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x18006b30f
movzx eax, byte [0x180146763]
movzx eax, al
not eax
test eax, eax
je 0x18006b30f
mov dword [rsp + 0x460], 1
jmp 0x18006b31a
mov dword [rsp + 0x460], 0
mov eax, dword [rsp + 0x460]
not eax
test eax, eax
je 0x18006b342
movzx eax, word [0x180146834]
cwde
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
add eax, ecx
mov word [0x180146834], ax
jmp 0x18006b35f
mov eax, dword [rsp + 0x64]
imul eax, eax, 0x18
test eax, eax
je 0x18006b35f
movsx eax, word [0x180146724]
add eax, dword [rsp + 0x70]
mov word [0x180146724], ax
call fcn.18002f030
mov dword [rsp + 0xa0], eax
cmp qword [rsp + 0xb0], 0
je 0x18006b4a5
movzx eax, byte [rsp + 0x41]
movzx eax, al
not eax
movzx ecx, word [0x180146830]
not ecx
imul eax, ecx
test eax, eax
jne 0x18006b3a1
mov dword [rsp + 0x464], 1
jmp 0x18006b3ac
mov dword [rsp + 0x464], 0
movsx eax, word [rsp + 0x60]
mov ecx, dword [rsp + 0x464]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x54], ax
movzx eax, word [0x180146848]
cwde
sub eax, 0x3a49
mov byte [0x180146726], al
mov r8, qword [rsp + 0xb0]
mov edx, 1
lea rcx, [0x18006e880]
call fcn.180082490
mov eax, 1
mov word [0x1801467f0], ax
mov rax, qword [0x1801467d8]
sub rax, 0x7d
mov byte [0x180146775], al
mov eax, dword [0x1801467cc]
dec eax
mov dword [0x1801467cc], eax
movzx eax, word [0x1801467f0]
cwde
mov dword [rsp + 0x468], eax
cmp dword [rsp + 0x468], 0
je 0x18006b43d
cmp dword [rsp + 0x468], 1
je 0x18006b449
jmp 0x18006b499
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x70], eax
jmp 0x18006b499
movzx eax, word [rsp + 0x50]
movzx eax, ax
movabs rcx, 0xbfc228463e39a
sub rax, rcx
mov word [rsp + 0x54], ax
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x18006b47f
mov eax, dword [0x1801467cc]
mov dword [rsp + 0x46c], eax
jmp 0x18006b48d
movzx eax, byte [0x180146766]
mov dword [rsp + 0x46c], eax
movzx eax, byte [rsp + 0x46c]
mov byte [rsp + 0x44], al
mov qword [rsp + 0xb0], 0
cmp qword [rsp + 0xa8], 0
je 0x18006b839
movzx eax, byte [0x180146721]
movsx eax, al
movzx ecx, word [0x1801467b4]
movzx ecx, cx
cmp eax, ecx
jg 0x18006b4d9
mov dword [rsp + 0x474], 1
jmp 0x18006b4e4
mov dword [rsp + 0x474], 0
movzx eax, byte [0x180146721]
movsx eax, al
cmp eax, 0x52
jg 0x18006b500
mov dword [rsp + 0x470], 1
jmp 0x18006b50b
mov dword [rsp + 0x470], 0
mov eax, dword [rsp + 0x470]
cmp dword [rsp + 0x474], eax
je 0x18006b629
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x88]
movzx edx, word [0x18014681c]
mov word [rsp + 0x138], dx
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
movzx r9d, al
movzx r8d, cl
xor edx, edx
movzx eax, word [rsp + 0x138]
movzx ecx, al
call fcn.18004dab0
movzx eax, al
mov word [rsp + 0x5c], ax
movzx eax, word [rsp + 0x5c]
movzx eax, ax
test eax, eax
je 0x18006b58d
movsx eax, byte [rsp + 0x42]
imul eax, eax, 0x59
mov word [rsp + 0x48], ax
jmp 0x18006b624
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x18006b5c1
movzx eax, word [0x180146858]
movzx eax, ax
movsx ecx, byte [0x1801466f3]
imul eax, ecx
movzx ecx, word [0x180146858]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x180146858], ax
jmp 0x18006b624
cmp qword [0x180146820], 0
je 0x18006b607
movzx eax, word [0x1801467b4]
movzx eax, ax
movsx ecx, word [rsp + 0x60]
lea eax, [rcx + rax - 0x27080d7d]
mov word [rsp + 0x60], ax
mov rax, qword [0x180146838]
xor rax, 0x3e7d4e62
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x41], al
jmp 0x18006b624
mov rax, qword [rsp + 0x88]
cmp rax, 1
jge 0x18006b624
movzx eax, byte [rsp + 0x44]
sub eax, 0x28
mov word [0x180146724], ax
jmp 0x18006b719
movzx eax, byte [0x180146775]
movsx eax, al
movsx ecx, word [0x180146724]
cmp eax, ecx
jg 0x18006b64b
mov dword [rsp + 0x478], 1
jmp 0x18006b656
mov dword [rsp + 0x478], 0
mov eax, dword [0x1801467cc]
movzx ecx, word [0x18014685c]
movsx ecx, cx
cmp eax, ecx
jbe 0x18006b677
mov dword [rsp + 0x47c], 1
jmp 0x18006b682
mov dword [rsp + 0x47c], 0
mov eax, dword [rsp + 0x478]
not eax
mov ecx, dword [rsp + 0x47c]
not ecx
cmp eax, ecx
jge 0x18006b6c4
movzx eax, byte [rsp + 0x44]
mov rcx, qword [0x1801467e8]
not rcx
imul rax, rcx
movzx ecx, word [0x180146834]
movsx rcx, cx
sub rax, rcx
not rax
mov byte [0x180146767], al
jmp 0x18006b719
movzx eax, word [rsp + 0x50]
movzx eax, ax
test eax, eax
jle 0x18006b6ef
mov rax, qword [0x1801467d8]
add rax, 0x43
movsx rcx, word [0x180146724]
xor rax, rcx
mov qword [0x180146828], rax
jmp 0x18006b719
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x18006b719
movsx ax, byte [rsp + 0x42]
mov ecx, 2
imul rcx, rcx, 0x130
lea rdx, [0x1809b4390]
mov word [rdx + rcx], ax
xor r8d, r8d
xor edx, edx
mov cx, 0xa5
call fcn.18004d700
mov byte [0x180146775], al
movzx eax, byte [0x180146775]
movsx eax, al
test eax, eax
jne 0x18006b757
movzx eax, word [0x180146858]
movzx eax, ax
imul eax, eax, 0x7f7e7f6
cdqe
mov qword [rsp + 0x88], rax
jmp 0x18006b78e
movsx eax, byte [rsp + 0x40]
test eax, eax
je 0x18006b772
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x6a8], rax
jmp 0x18006b780
movsx rax, byte [rsp + 0x40]
mov qword [rsp + 0x6a8], rax
movzx eax, byte [rsp + 0x6a8]
mov byte [0x180146762], al
mov rcx, qword [rsp + 0xa8]
call fcn.1801007ac
mov dx, 0x80
xor ecx, ecx
call fcn.18004dde0
cwde
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jb 0x18006b7ca
mov dword [rsp + 0x480], 1
jmp 0x18006b7d5
mov dword [rsp + 0x480], 0
cmp dword [rsp + 0x480], 0xa0
jge 0x18006b814
movzx eax, word [0x180146830]
test eax, eax
je 0x18006b812
movzx eax, word [0x180146818]
cwde
and eax, 0x44
mov word [rsp + 0x58], ax
movsx eax, byte [0x18014670b]
mov ecx, dword [rsp + 0x6c]
sub ecx, eax
mov eax, ecx
mov byte [0x180146766], al
jmp 0x18006b82d
movsxd rax, dword [rsp + 0x70]
movabs rcx, 0x6eabebc3045d9
xor rax, rcx
mov qword [0x180146808], rax
mov qword [rsp + 0xa8], 0
mov rax, qword [0x180146850]
test rax, rax
jne 0x18006b867
movzx eax, word [0x180146830]
movzx ecx, word [0x180146818]
movsx ecx, cx
cmp eax, ecx
jge 0x18006b867
mov dword [rsp + 0x484], 0
jmp 0x18006b872
mov dword [rsp + 0x484], 1
mov eax, dword [rsp + 0x484]
not eax
test eax, eax
je 0x18006b8a4
movsx rax, byte [rsp + 0x42]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
ja 0x18006b8a4
movzx eax, byte [0x180146722]
movsx eax, al
imul eax, eax, 0xba
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0xa0]
jmp 0x18006c283
cmp dword [rsp + 0x77c], 1
jne 0x18006b8cf
mov rax, qword [0x1801467d8]
shr rax, 4
mov qword [rsp + 0x78], rax
jmp 0x18006bf67
xor edx, edx
lea rcx, [0x18006eb60]
call fcn.180082490
sub eax, dword [rsp + 0x56c]
cmp eax, dword [rsp + 0x570]
jbe 0x18006bf62
movsx rax, byte [0x1801466f3]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [0x1801466f4]
sub eax, 0x4b
mov byte [rsp + 0x43], al
movzx eax, byte [0x180146775]
movsx rax, al
cmp rax, qword [rsp + 0x98]
jl 0x18006b938
mov byte [rsp + 0x45], 8
jmp 0x18006b962
cmp qword [0x180146820], 0x69d0
je 0x18006b962
mov rax, qword [0x180146828]
mov ecx, 4
imul rcx, rcx, 0x5f5
lea rdx, [0x180b91630]
mov dword [rdx + rcx], eax
mov dword [rsp + 0xa0], 0x41b
cmp qword [rsp + 0xb0], 0
je 0x18006bbc5
movzx eax, word [0x18014681c]
movsx rax, ax
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov edx, 0x89
mov ecx, 0x3a
call fcn.18004d370
mov word [0x180146724], ax
movsx eax, word [0x180146724]
test eax, eax
je 0x18006b9cd
mov dword [rsp + 0x48c], 1
jmp 0x18006b9d8
mov dword [rsp + 0x48c], 0
movsx eax, word [0x180146724]
cmp eax, 0x61
je 0x18006b9f1
mov dword [rsp + 0x488], 1
jmp 0x18006b9fc
mov dword [rsp + 0x488], 0
mov eax, dword [rsp + 0x488]
mov r8, qword [rsp + 0xb0]
mov edx, 1
lea rcx, [0x18006e880]
call fcn.180082490
movsx eax, word [0x180146724]
test eax, eax
je 0x18006bb82
movzx eax, byte [0x180146766]
mov ecx, dword [rsp + 0x68]
movsxd rcx, ecx
mov edx, dword [0x1801466f4]
mov edx, edx
mov qword [rsp + 0x760], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rcx
mov edx, 0x60
mov rax, qword [rsp + 0x760]
mov rcx, rax
call fcn.18004d370
mov qword [rsp + 0x98], rax
cmp qword [rsp + 0x98], 0
jle 0x18006ba92
mov dword [rsp + 0x494], 1
jmp 0x18006ba9d
mov dword [rsp + 0x494], 0
cmp qword [rsp + 0x98], 0x29
jle 0x18006bab5
mov dword [rsp + 0x490], 1
jmp 0x18006bac0
mov dword [rsp + 0x490], 0
mov eax, dword [rsp + 0x490]
cmp dword [rsp + 0x494], eax
jl 0x18006bb80
movzx eax, word [rsp + 0x48]
movzx eax, ax
test eax, eax
jne 0x18006baee
mov qword [rsp + 0x6b0], 1
jmp 0x18006bafa
mov qword [rsp + 0x6b0], 0
mov rax, qword [rsp + 0x90]
imul rax, qword [rsp + 0x6b0]
test rax, rax
jne 0x18006bb1d
mov dword [rsp + 0x498], 1
jmp 0x18006bb28
mov dword [rsp + 0x498], 0
mov eax, dword [rsp + 0x6c]
imul eax, dword [rsp + 0x498]
cdqe
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
movzx edx, word [0x1801467f0]
movsx rdx, dx
add rdx, qword [rsp + 0x90]
not rdx
add rcx, rdx
xor rax, rcx
mov qword [rsp + 0x90], rax
movsx eax, byte [rsp + 0x42]
sub eax, 0x3b
cdqe
mov rcx, qword [0x180146800]
add rcx, rax
mov rax, rcx
mov qword [0x180146800], rax
jmp 0x18006bbb9
mov rax, qword [0x180146838]
mov ecx, 0x9767b69e
imul rax, rcx
test rax, rax
jne 0x18006bbb9
movzx eax, word [rsp + 0x50]
movzx eax, ax
add eax, 0x1d634af7
mov word [rsp + 0x58], ax
mov rax, qword [0x180146840]
add rax, 0x45
mov word [rsp + 0x60], ax
mov qword [rsp + 0xb0], 0
cmp qword [rsp + 0xa8], 0
je 0x18006be49
mov dword [rsp + 0x64], 0xf4c9
movzx eax, word [0x18014685c]
cwde
test eax, eax
je 0x18006bd50
mov eax, dword [0x18014684c]
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], al
mov r9b, 0x7e
mov r8b, 0xc5
mov dl, 0xee
xor ecx, ecx
call fcn.18004dab0
movzx eax, al
mov qword [0x180146850], rax
mov rax, qword [0x180146850]
test rax, rax
jne 0x18006bc32
mov dword [rsp + 0x4a0], 1
jmp 0x18006bc3d
mov dword [rsp + 0x4a0], 0
mov rax, qword [0x180146850]
cmp rax, 5
jne 0x18006bc57
mov dword [rsp + 0x49c], 1
jmp 0x18006bc62
mov dword [rsp + 0x49c], 0
mov eax, dword [rsp + 0x49c]
cmp dword [rsp + 0x4a0], eax
jge 0x18006bcbf
mov eax, dword [0x18014673c]
sub eax, 0x46674f71
mov byte [0x180146723], al
movzx eax, word [rsp + 0x50]
movzx eax, ax
test eax, eax
je 0x18006bca0
mov rax, qword [0x1801467e8]
mov qword [rsp + 0x6b8], rax
jmp 0x18006bcad
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x6b8], rax
movzx eax, word [rsp + 0x6b8]
mov word [rsp + 0x5c], ax
jmp 0x18006bd4e
movsx eax, byte [rsp + 0x40]
test eax, eax
je 0x18006bd16
movsx eax, byte [rsp + 0x40]
movzx ecx, word [rsp + 0x58]
sub eax, ecx
test eax, eax
jne 0x18006bce6
mov qword [rsp + 0x6c0], 1
jmp 0x18006bcf2
mov qword [rsp + 0x6c0], 0
mov eax, dword [0x1801467cc]
mov eax, eax
mov rcx, qword [rsp + 0x80]
add rax, qword [rsp + 0x6c0]
add rax, rcx
mov qword [0x1801467e0], rax
jmp 0x18006bd4e
movzx eax, word [0x180146830]
test eax, eax
je 0x18006bd31
movsx eax, byte [0x1801466f3]
sar eax, 8
mov byte [rsp + 0x41], al
jmp 0x18006bd4e
mov eax, dword [0x1801467f4]
test eax, eax
je 0x18006bd4e
movzx eax, byte [rsp + 0x44]
add eax, 0xf801
cdqe
mov qword [0x180146850], rax
jmp 0x18006bd72
movsx eax, byte [0x1801466df]
test eax, eax
je 0x18006bd72
movzx eax, byte [0x180146766]
test eax, eax
je 0x18006bd72
movzx eax, word [0x180976cc0]
mov word [rsp + 0x50], ax
mov rcx, qword [rsp + 0xa8]
call fcn.1801007ac
mov dword [0x1801467cc], 1
mov eax, dword [rsp + 0x70]
sub eax, 0x483f
mov byte [0x180146727], al
mov rax, qword [rsp + 0x78]
movabs rcx, 0x7694d7b36e198
sub rax, rcx
mov word [0x1801467f0], ax
mov eax, dword [0x1801467cc]
mov dword [rsp + 0x4a4], eax
cmp dword [rsp + 0x4a4], 0
je 0x18006bdd4
cmp dword [rsp + 0x4a4], 1
je 0x18006bddd
jmp 0x18006be3d
mov byte [0x180146766], 0x1c
jmp 0x18006be3d
movzx eax, word [0x1801467f0]
movsx rax, ax
mov rcx, qword [0x1801467f8]
sub rax, rcx
not rax
imul rax, qword [rsp + 0x98]
movzx ecx, byte [0x180146726]
movsx edx, word [rsp + 0x60]
not edx
movsxd rdx, edx
add rdx, qword [rsp + 0x98]
not rdx
imul rcx, rdx
sub rax, rcx
mov byte [0x180146723], al
movzx eax, byte [0x18014673b]
movzx eax, al
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x6c], eax
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0x78], 4
movzx eax, word [0x180146764]
movsx rax, ax
mov rcx, qword [0x180146850]
or rax, rcx
movzx ecx, word [0x180146848]
movsx ecx, cx
sub ecx, 0x9e
movsxd rcx, ecx
add rax, rcx
not rax
movzx ecx, word [rsp + 0x5c]
movzx ecx, cx
not ecx
add ecx, 0x7a
movsxd rcx, ecx
xor rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x4c0], rax
cmp qword [rsp + 0x4c0], 0
je 0x18006bee1
cmp qword [rsp + 0x4c0], 1
je 0x18006bef0
cmp qword [rsp + 0x4c0], 2
je 0x18006bf07
cmp qword [rsp + 0x4c0], 3
je 0x18006bf1f
cmp qword [rsp + 0x4c0], 4
je 0x18006bf4a
jmp 0x18006bf56
mov rax, qword [rsp + 0x78]
shl rax, 7
mov dword [rsp + 0x6c], eax
jmp 0x18006bf56
movzx eax, word [0x18014681c]
cwde
mov ecx, dword [rsp + 0x6c]
sub eax, ecx
mov word [0x18014681c], ax
jmp 0x18006bf56
mov rax, qword [rsp + 0x88]
sub rax, qword [0x1801467e8]
mov qword [0x180146840], rax
jmp 0x18006bf56
movzx eax, byte [0x180146766]
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
sub eax, ecx
mov byte [0x180146766], al
movzx eax, word [0x180146834]
cwde
add eax, 0xc6
mov word [rsp + 0x58], ax
jmp 0x18006bf56
mov eax, 0x95c5ade2
mov qword [0x180146828], rax
mov eax, dword [rsp + 0xa0]
jmp 0x18006c283
jmp 0x18006b08f
cmp qword [rsp + 0xb0], 0
je 0x18006c234
mov byte [0x1801466f3], 0x65
mov eax, dword [0x180976cc0]
mov dword [rsp + 0x178], eax
mov eax, dword [rsp + 0x574]
mov ecx, dword [rsp + 0x178]
add eax, ecx
mov dword [rsp + 0x580], eax
mov eax, 4
mov word [rsp + 0x54], ax
mov rax, qword [rsp + 0x78]
movabs rcx, 0xeced6cda4a8d1
xor rax, rcx
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x80]
dec rax
mov qword [rsp + 0x80], rax
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov dword [rsp + 0xbc], eax
cmp dword [rsp + 0xbc], 0
je 0x18006c01e
cmp dword [rsp + 0xbc], 1
je 0x18006c035
cmp dword [rsp + 0xbc], 2
je 0x18006c05a
cmp dword [rsp + 0xbc], 3
je 0x18006c076
cmp dword [rsp + 0xbc], 4
je 0x18006c0a4
jmp 0x18006c0b9
mov eax, dword [0x1801467f4]
mov ecx, dword [rsp + 0x70]
lea eax, [rcx + rax - 0x39]
mov dword [rsp + 0x70], eax
jmp 0x18006c0b9
movzx eax, word [rsp + 0x4c]
movzx eax, ax
add eax, 0x99bf
cdqe
mov rcx, qword [0x180146808]
add rcx, rax
mov rax, rcx
mov qword [0x180146808], rax
jmp 0x18006c0b9
mov rax, qword [0x180146800]
mov ecx, 1
imul rcx, rcx, 0x12
lea rdx, [0x180b91600]
mov byte [rdx + rcx], al
jmp 0x18006c0b9
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
jmp 0x18006c0b9
movsx rax, byte [0x18014670b]
add rax, qword [0x180146808]
mov byte [0x18014670b], al
mov eax, dword [rsp + 0x578]
mov ecx, dword [rsp + 0x178]
add eax, ecx
mov dword [rsp + 0x70c], eax
movsx eax, word [rsp + 0x60]
add eax, 0x58e4
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x57c]
mov ecx, dword [rsp + 0x178]
add eax, ecx
mov dword [rsp + 0x710], eax
mov eax, dword [rsp + 0x580]
mov ecx, dword [rsp + 0x5ac]
cmp eax, ecx
je 0x18006c234
movsx rax, word [0x180146724]
mov rcx, qword [0x180146800]
sub rcx, rax
mov rax, rcx
mov qword [0x180146800], rax
mov r8, qword [rsp + 0xb0]
mov edx, 1
lea rcx, [0x18006e880]
call fcn.180082490
movzx eax, word [0x180146830]
mov qword [rsp + 0x28], 0xfc
mov qword [rsp + 0x20], 0x54
mov r9, qword [0x1801467e8]
mov r8d, 0x98
mov rdx, qword [0x180146838]
mov ecx, eax
call fcn.18004d370
mov dword [0x18014673c], eax
cmp dword [0x18014673c], 0
jle 0x18006c190
mov dword [rsp + 0x4ac], 1
jmp 0x18006c19b
mov dword [rsp + 0x4ac], 0
cmp dword [0x18014673c], 0x1b
jle 0x18006c1b1
mov dword [rsp + 0x4a8], 1
jmp 0x18006c1bc
mov dword [rsp + 0x4a8], 0
mov eax, dword [rsp + 0x4a8]
cmp dword [rsp + 0x4ac], eax
jg 0x18006c1d9
movzx eax, byte [0x180976cc0]
mov byte [rsp + 0x44], al
jmp 0x18006c228
movsx eax, byte [0x1801466df]
movzx ecx, byte [0x180146722]
movsx ecx, cl
not ecx
movsx edx, byte [0x180146727]
imul ecx, edx
lea eax, [rax + rcx - 0x51]
not eax
cdqe
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
mov rdx, qword [0x1801467f8]
movabs rdi, 0x714de1a823b57
add rdx, rdi
not rdx
imul rcx, rdx
and rax, rcx
mov byte [rsp + 0x44], al
mov qword [rsp + 0xb0], 0
jmp 0x1800671f3
movsx eax, byte [0x180146727]
movsx ecx, word [rsp + 0x60]
imul eax, ecx
cdqe
mov rcx, qword [0x1801467f8]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
sub ecx, 0x9024589f
movzx edx, byte [0x180146762]
movsx edx, dl
sub ecx, edx
mov ecx, ecx
xor rax, rcx
mov byte [0x180146767], al
mov eax, dword [rsp + 0xa0]
add rsp, 0x938
pop rdi
pop rsi
ret