Function at 0x180043360
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x798
mov dword [rsp + 0x640], 0xff4f9948
movzx eax, word [0x180146480]
mov word [rsp + 0x54], ax
mov eax, 0x81
mov word [rsp + 0x50], ax
movzx eax, byte [0x1801463d3]
mov qword [rsp + 0x90], rax
movzx eax, byte [0x18014636a]
mov byte [rsp + 0x43], al
mov eax, 0xffffa2d1
mov word [rsp + 0x48], ax
mov rax, qword [0x180146488]
mov byte [rsp + 0x45], al
mov qword [rsp + 0x98], 0x27de
mov rax, qword [0x1801464b0]
mov qword [rsp + 0x78], rax
movzx eax, word [0x180146404]
mov word [rsp + 0x4c], ax
mov dword [rsp + 0x64], 0x8fb24759
mov rax, qword [0x1801464b0]
mov qword [rsp + 0x70], rax
movzx eax, word [0x1801464d0]
mov byte [rsp + 0x40], al
mov dword [rsp + 0x58], 0xd783
mov byte [rsp + 0x44], 0x96
mov qword [rsp + 0x88], 0x3a17
mov dword [rsp + 0x60], 0x40b75c1
mov qword [rsp + 0x80], 0x5aaec5e9
mov rax, qword [0x180146488]
mov dword [rsp + 0x68], eax
mov byte [rsp + 0x42], 0xb
mov byte [rsp + 0x46], 0xfd
mov byte [rsp + 0x41], 0xe1
mov dword [rsp + 0x5c], 0x42
mov eax, dword [0x1801464f0]
mov dword [rsp + 0x644], eax
movsxd rax, dword [0x18014647c]
mov qword [rsp + 0x6f8], rax
mov rax, qword [0x1801464a8]
mov byte [rsp + 0xe0], al
mov eax, 0xe147
mov word [rsp + 0x50c], ax
mov rax, qword [0x1801464e8]
mov qword [rsp + 0x700], rax
mov byte [rsp + 0xe1], 0x21
mov rax, qword [0x1801464b0]
mov qword [rsp + 0x708], rax
mov eax, 0x38fa
mov word [rsp + 0x4f8], ax
mov eax, 0xffffaa4d
mov word [rsp + 0x4fc], ax
mov dword [rsp + 0x648], 0x38b21c93
movzx eax, byte [0x1801463d7]
mov word [rsp + 0x500], ax
mov qword [rsp + 0x710], 0x6e5cc5ce
movzx eax, word [0x1801464c8]
mov word [rsp + 0x504], ax
mov qword [rsp + 0x718], 0xb2
mov eax, 0xffff9ffa
mov word [rsp + 0x508], ax
mov eax, 0xf3c9
mov word [rsp + 0x510], ax
mov eax, dword [0x18014641c]
mov eax, eax
cmp rax, qword [rsp + 0x70]
jle 0x180043543
mov dword [rsp + 0x418], 1
jmp 0x18004354e
mov dword [rsp + 0x418], 0
mov eax, dword [0x18014641c]
cmp eax, 0x3d
jbe 0x180043566
mov dword [rsp + 0x414], 1
jmp 0x180043571
mov dword [rsp + 0x414], 0
mov eax, dword [rsp + 0x414]
cmp dword [rsp + 0x418], eax
jl 0x1800436e0
mov rax, qword [0x1801464a0]
movsx rcx, word [rsp + 0x54]
cmp rax, rcx
jbe 0x1800435a4
mov dword [rsp + 0x184], 1
jmp 0x1800435af
mov dword [rsp + 0x184], 0
movzx eax, byte [rsp + 0x41]
not eax
test eax, eax
je 0x1800435d3
movzx eax, byte [rsp + 0x40]
movzx eax, al
test eax, eax
je 0x1800435d3
mov dword [rsp + 0x180], 1
jmp 0x1800435de
mov dword [rsp + 0x180], 0
mov eax, dword [rsp + 0x180]
cmp dword [rsp + 0x184], eax
jne 0x1800435fb
mov dword [rsp + 0x190], 1
jmp 0x180043606
mov dword [rsp + 0x190], 0
movsx eax, byte [rsp + 0x44]
cmp eax, dword [0x180146494]
je 0x180043620
mov dword [rsp + 0x18c], 1
jmp 0x18004362b
mov dword [rsp + 0x18c], 0
movsx rax, byte [0x18014636b]
movabs rcx, 0x826722a8138aa
cmp rax, rcx
jg 0x18004364f
mov dword [rsp + 0x188], 1
jmp 0x18004365a
mov dword [rsp + 0x188], 0
mov eax, dword [rsp + 0x188]
cmp dword [rsp + 0x18c], eax
jl 0x180043677
mov dword [rsp + 0x194], 1
jmp 0x180043682
mov dword [rsp + 0x194], 0
mov eax, dword [rsp + 0x190]
not eax
mov ecx, dword [rsp + 0x194]
not ecx
cmp eax, ecx
jne 0x1800436b2
mov rax, qword [0x180146470]
movabs rcx, 0x8ad47b2041cab
add rax, rcx
mov byte [rsp + 0x45], al
jmp 0x1800436e0
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1800436e0
mov byte [rsp + 0x43], 0x7e
movzx eax, byte [rsp + 0x45]
movsx eax, al
sub eax, dword [rsp + 0x58]
movzx ecx, byte [rsp + 0x45]
movsx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x45], al
mov eax, dword [0x18064fd50]
mov dword [rsp + 0xe4], eax
movsx eax, byte [0x18014636b]
movsx ecx, word [rsp + 0x48]
sub eax, ecx
mov byte [0x18014636b], al
mov eax, dword [rsp + 0xe4]
add eax, 0x3c8
mov dword [rsp + 0x290], eax
mov rax, qword [0x180146488]
movsx rcx, byte [rsp + 0x44]
cmp rax, rcx
jl 0x180043733
mov dword [rsp + 0x19c], 1
jmp 0x18004373e
mov dword [rsp + 0x19c], 0
mov rax, qword [0x180146488]
cmp rax, 0x13
jl 0x180043758
mov dword [rsp + 0x198], 1
jmp 0x180043763
mov dword [rsp + 0x198], 0
mov eax, dword [rsp + 0x198]
cmp dword [rsp + 0x19c], eax
je 0x1800437e5
movzx eax, byte [rsp + 0x43]
movsx eax, al
not eax
imul eax, dword [rsp + 0x5c]
cdqe
movzx ecx, word [0x1801464e0]
movsx rcx, cx
mov rdx, qword [rsp + 0x80]
xor rdx, rcx
mov rcx, rdx
sub rax, rcx
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x80]
add rcx, rdx
movzx edx, byte [0x18014636f]
add rcx, rdx
sub rax, rcx
not rax
mov dword [rsp + 0x68], eax
movsx eax, word [rsp + 0x48]
movzx ecx, byte [rsp + 0x46]
movzx ecx, cl
mov edx, 0x9ab64a09
lea rcx, [rcx + rdx]
add eax, ecx
mov byte [rsp + 0x46], al
jmp 0x18004385c
movsx rax, byte [rsp + 0x42]
cmp rax, qword [0x1801464f0]
jge 0x18004382a
mov eax, dword [0x1801464c4]
sub eax, 0x94
mov eax, eax
mov rcx, qword [0x1801464a0]
add rcx, rax
mov rax, rcx
mov qword [0x1801464a0], rax
movzx eax, byte [0x1801463f6]
imul eax, eax, 0x1163a72
mov dword [0x18014641c], eax
jmp 0x18004385c
movzx eax, byte [0x180146397]
mov ecx, dword [0x180146464]
imul ecx, eax
mov eax, ecx
test eax, eax
je 0x18004385c
mov rax, qword [rsp + 0x80]
movabs rcx, 0x1f60b3ab788aa
sub rax, rcx
mov qword [0x180146470], rax
mov eax, dword [rsp + 0xe4]
add eax, 0x1c9
mov dword [rsp + 0x44c], eax
movzx eax, byte [0x180146369]
movzx eax, al
mov ecx, dword [rsp + 0x68]
movsxd rcx, ecx
movzx edx, word [rsp + 0x4c]
movsx rdx, dx
mov r8, qword [0x1801464f0]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], 0xcd
mov qword [rsp + 0x20], rax
mov r9, rcx
mov r8d, 0x24
xor ecx, ecx
call fcn.1800416b0
mov byte [0x180146397], al
movzx eax, byte [0x180146397]
test eax, eax
je 0x1800438d9
movzx eax, byte [rsp + 0x46]
movzx eax, al
sub eax, 0x757b
mov dword [0x180146464], eax
jmp 0x1800438f5
mov rax, qword [rsp + 0x88]
mov rcx, qword [0x180146480]
and rcx, rax
mov rax, rcx
mov qword [0x180146480], rax
mov eax, dword [rsp + 0xe4]
add eax, 0x197
mov dword [rsp + 0x6b0], eax
mov r9d, 0xa5
mov r8d, 0x4e
mov rdx, qword [rsp + 0x80]
mov ecx, 0xe8
call fcn.180041130
mov dword [0x180146494], eax
cmp dword [0x180146494], 0
je 0x180043b20
mov rax, qword [rsp + 0x98]
movzx ecx, byte [0x18014636f]
cmp rax, rcx
jne 0x18004395a
mov dword [rsp + 0x1a4], 1
jmp 0x180043965
mov dword [rsp + 0x1a4], 0
mov rax, qword [rsp + 0x98]
cmp rax, 1
jne 0x180043980
mov dword [rsp + 0x1a0], 1
jmp 0x18004398b
mov dword [rsp + 0x1a0], 0
mov eax, dword [rsp + 0x1a0]
cmp dword [rsp + 0x1a4], eax
jg 0x1800439cb
movsx eax, word [0x180146478]
imul eax, dword [0x180146494]
mov word [0x180146478], ax
movzx eax, byte [rsp + 0x43]
movsx eax, al
sub eax, 0x8fa360c3
mov eax, eax
mov qword [0x1801464e8], rax
jmp 0x180043b20
cmp dword [0x18014647c], 0
je 0x180043a35
mov rax, qword [rsp + 0x80]
sub rax, 0xb7
mov byte [0x18014636a], al
movsx eax, word [rsp + 0x54]
movzx ecx, word [0x180146404]
movsx ecx, cx
imul eax, ecx
not eax
xor eax, dword [0x180146494]
test eax, eax
jne 0x180043a14
mov qword [rsp + 0x598], 1
jmp 0x180043a20
mov qword [rsp + 0x598], 0
mov rax, qword [rsp + 0x598]
mov qword [rsp + 0x88], rax
jmp 0x180043b20
movzx eax, byte [rsp + 0x41]
not eax
test eax, eax
je 0x180043a4d
mov dword [rsp + 0x58], 0x75
jmp 0x180043b20
movabs rax, 0xc3b3a3827235a
xor ecx, ecx
cmp rcx, rax
je 0x180043b20
movzx eax, word [rsp + 0x50]
movzx eax, ax
movabs rcx, 0x40fb08830d53c
sub rax, rcx
mov dword [rsp + 0x58], eax
movsx eax, word [rsp + 0x48]
test eax, eax
jne 0x180043a91
mov dword [rsp + 0x1ac], 1
jmp 0x180043a9c
mov dword [rsp + 0x1ac], 0
mov eax, dword [0x1801464c4]
test eax, eax
jne 0x180043ab3
mov dword [rsp + 0x1a8], 1
jmp 0x180043abe
mov dword [rsp + 0x1a8], 0
mov rax, qword [0x180146488]
mov rcx, qword [0x180146470]
sub rax, rcx
not rax
movzx ecx, byte [rsp + 0x40]
movzx ecx, cl
mov edx, 0xffffffa7
sub edx, ecx
mov ecx, edx
movsxd rcx, ecx
sub rax, rcx
mov rcx, qword [0x180146470]
mov rdx, qword [0x180146480]
imul rdx, rcx
mov rcx, rdx
mov edx, dword [rsp + 0x1a8]
mov r8d, dword [rsp + 0x1ac]
xor r8d, edx
mov edx, r8d
movsxd rdx, edx
xor rcx, rdx
sub rax, rcx
mov byte [rsp + 0x42], al
mov eax, dword [0x18064fd50]
mov dword [rsp + 0xe8], eax
movzx eax, word [0x1801464e0]
cwde
test eax, eax
je 0x180043ca8
mov rax, qword [0x180146468]
movabs rcx, 0x5a679d86091d8
cmp rax, rcx
jne 0x180043b60
mov dword [rsp + 0x1b0], 1
jmp 0x180043b6b
mov dword [rsp + 0x1b0], 0
movzx eax, word [rsp + 0x50]
movzx eax, ax
cmp eax, dword [rsp + 0x1b0]
jge 0x180043b89
mov dword [rsp + 0x1c0], 1
jmp 0x180043b94
mov dword [rsp + 0x1c0], 0
mov rax, qword [rsp + 0x80]
test rax, rax
jne 0x180043bae
mov dword [rsp + 0x1b8], 1
jmp 0x180043bb9
mov dword [rsp + 0x1b8], 0
mov eax, dword [rsp + 0x68]
movsx ecx, byte [0x18014636b]
cmp eax, ecx
jle 0x180043bd5
mov dword [rsp + 0x1b4], 1
jmp 0x180043be0
mov dword [rsp + 0x1b4], 0
mov eax, dword [rsp + 0x1b4]
cmp dword [rsp + 0x1b8], eax
jle 0x180043bfd
mov dword [rsp + 0x1bc], 1
jmp 0x180043c08
mov dword [rsp + 0x1bc], 0
mov eax, dword [rsp + 0x1bc]
cmp dword [rsp + 0x1c0], eax
jge 0x180043c25
mov dword [rsp + 0x1c4], 1
jmp 0x180043c30
mov dword [rsp + 0x1c4], 0
mov eax, dword [rsp + 0x1c4]
not eax
test eax, eax
je 0x180043c92
mov eax, dword [0x1801464d4]
movabs rcx, 0x79d1833dc305c
add rax, rcx
mov byte [0x18014636b], al
movzx eax, byte [rsp + 0x45]
movsx eax, al
test eax, eax
je 0x180043c73
mov rax, qword [0x180146468]
mov qword [rsp + 0x5a0], rax
jmp 0x180043c83
movsx rax, word [0x180146478]
mov qword [rsp + 0x5a0], rax
movzx eax, word [rsp + 0x5a0]
mov word [rsp + 0x54], ax
jmp 0x180043ca6
movzx eax, byte [0x1801463d3]
movzx ecx, byte [rsp + 0x41]
add eax, ecx
mov byte [0x1801463d3], al
jmp 0x180043cec
movzx eax, byte [0x1801463bf]
movzx eax, al
movzx ecx, byte [0x1801463be]
movsx ecx, cl
cmp eax, ecx
jne 0x180043cec
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x180043cec
movzx eax, byte [rsp + 0x41]
movzx ecx, byte [0x1801463d7]
add eax, ecx
mov byte [rsp + 0x41], al
mov eax, dword [0x18064fd50]
mov qword [0x1801464f0], rax
mov eax, dword [rsp + 0xe8]
add eax, 0x3c0
mov dword [rsp + 0x458], eax
movzx eax, byte [rsp + 0x40]
movzx eax, al
movzx ecx, byte [0x180146396]
movsx ecx, cl
cmp eax, ecx
je 0x180043d23
mov qword [rsp + 0x5a8], 1
jmp 0x180043d2f
mov qword [rsp + 0x5a8], 0
movzx eax, word [0x1801463d4]
movsx rax, ax
mov rcx, qword [rsp + 0x80]
imul rcx, rax
mov rax, rcx
cmp qword [rsp + 0x5a8], rax
jne 0x180043f6d
xor edx, edx
xor ecx, ecx
call fcn.180040d20
mov byte [0x1801463d3], al
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x180043f42
movsx eax, byte [rsp + 0x42]
mov dword [rsp + 0x30], 0x37
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
mov r9d, 0xc1
mov r8d, 0xb0
mov edx, 0x7a
xor ecx, ecx
call fcn.1800419e0
mov eax, eax
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x70], 0
je 0x180043dbf
mov dword [rsp + 0x1cc], 1
jmp 0x180043dca
mov dword [rsp + 0x1cc], 0
cmp qword [rsp + 0x70], 0x26
je 0x180043ddf
mov dword [rsp + 0x1c8], 1
jmp 0x180043dea
mov dword [rsp + 0x1c8], 0
mov eax, dword [rsp + 0x1c8]
cmp dword [rsp + 0x1cc], eax
jl 0x180043f07
movzx eax, byte [rsp + 0x40]
movzx eax, al
mov rcx, qword [rsp + 0x88]
cmp rax, rcx
jbe 0x180043e20
mov dword [rsp + 0x1d4], 1
jmp 0x180043e2b
mov dword [rsp + 0x1d4], 0
movzx eax, byte [rsp + 0x40]
movzx eax, al
cmp eax, 0x48
jle 0x180043e45
mov dword [rsp + 0x1d0], 1
jmp 0x180043e50
mov dword [rsp + 0x1d0], 0
mov eax, dword [rsp + 0x1d0]
cmp dword [rsp + 0x1d4], eax
jle 0x180043e78
movzx eax, byte [rsp + 0x43]
movsx eax, al
sub eax, 0x42fd
mov dword [0x1801464f8], eax
jmp 0x180043f05
movzx eax, byte [rsp + 0x40]
movzx eax, al
not eax
test eax, eax
jne 0x180043e9f
movzx eax, word [rsp + 0x50]
movzx eax, ax
test eax, eax
jne 0x180043e9f
mov dword [rsp + 0x1dc], 0
jmp 0x180043eaa
mov dword [rsp + 0x1dc], 1
movsx eax, word [rsp + 0x54]
test eax, eax
je 0x180043ece
movzx eax, byte [0x18014636a]
movzx eax, al
test eax, eax
je 0x180043ece
mov dword [rsp + 0x1d8], 1
jmp 0x180043ed9
mov dword [rsp + 0x1d8], 0
mov eax, dword [rsp + 0x1d8]
cmp dword [rsp + 0x1dc], eax
jl 0x180043f05
movsxd rax, dword [0x18014647c]
mov rcx, qword [0x1801464a8]
sub rcx, rax
mov rax, rcx
not rax
mov word [rsp + 0x50], ax
jmp 0x180043f40
movsxd rax, dword [rsp + 0x5c]
movabs rcx, 0xcdceca9171b2c
sub rax, rcx
mov rcx, qword [rsp + 0x80]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
movzx eax, byte [0x18014636a]
movzx eax, al
mov qword [str._buAG], rax
jmp 0x180043f6b
mov eax, dword [0x1801464c4]
test eax, eax
je 0x180043f6b
mov rax, qword [rsp + 0x90]
imul rax, rax, 0x54
mov dword [0x18014647c], eax
mov rax, qword [rsp + 0x70]
dec rax
mov qword [rsp + 0x70], rax
jmp 0x180043f77
mov eax, dword [0x1801464c4]
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0xe8]
add eax, 0x1e4
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0x5c]
add eax, 0xf304
cdqe
mov qword [0x180146468], rax
movzx eax, word [0x1801463d4]
cwde
and eax, 0xdfa83ef4
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x1cd
mov dword [rsp + 0x64c], eax
mov eax, dword [rsp + 0x68]
cdqe
movabs rcx, 0xe2bc91f63df5c
add rax, rcx
mov rcx, qword [0x180146488]
or rcx, rax
mov rax, rcx
mov qword [0x180146488], rax
mov eax, dword [0x18014647c]
sub eax, 0xc5b9
mov dword [0x18014641c], eax
mov eax, dword [0x18064fd50]
mov dword [rsp + 0xec], eax
mov byte [0x1801463be], 0x43
movabs rax, 0xf63d63aa1cc4d
mov rcx, qword [0x180146480]
add rcx, rax
mov rax, rcx
mov dword [0x1801464dc], eax
mov eax, dword [rsp + 0xec]
add eax, 0xc473
mov dword [rsp + 0x4f4], eax
movzx eax, byte [rsp + 0x45]
movsx ax, al
movzx edx, ax
mov cx, 0x9b
call fcn.180040d20
cwde
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0
jne 0x18004406a
mov dword [rsp + 0x1e4], 1
jmp 0x180044075
mov dword [rsp + 0x1e4], 0
cmp dword [rsp + 0x58], 0x1c
jne 0x180044089
mov dword [rsp + 0x1e0], 1
jmp 0x180044094
mov dword [rsp + 0x1e0], 0
mov eax, dword [rsp + 0x1e0]
cmp dword [rsp + 0x1e4], eax
jl 0x1800440d1
movsx rax, byte [0x18014636b]
movabs rcx, 0x3dc9c34fd6f2b
add rax, rcx
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x58]
mov ecx, dword [0x1801464dc]
add ecx, eax
mov eax, ecx
mov dword [0x1801464dc], eax
mov eax, dword [rsp + 0xec]
add eax, 0xf7b5
mov dword [rsp + 0x650], eax
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x180044100
mov rax, qword [rsp + 0x78]
sub rax, 0xa513
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0xec]
add eax, 0x4d8b
mov dword [rsp + 0x654], eax
movzx eax, byte [rsp + 0x43]
movsx eax, al
add eax, 0x24223a0a
movzx ecx, word [0x1801464e0]
movsx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [0x1801464e0], ax
mov eax, dword [rsp + 0x4f4]
add eax, 0x81b3
mov ecx, 0x14626
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x444], eax
cmp qword [0x180146498], 0
je 0x1800441b1
movsx rax, word [rsp + 0x48]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], 7
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor r8d, r8d
mov edx, 0xeb
mov rcx, rax
call fcn.1800416b0
mov byte [0x1801463d7], al
movzx eax, byte [0x1801463d7]
test eax, eax
jne 0x1800441af
mov rax, qword [0x180146488]
mov dword [rsp + 0x64], eax
jmp 0x18004421a
cmp dword [rsp + 0x58], 0
je 0x1800441c6
movsx eax, byte [rsp + 0x44]
movsx ecx, word [rsp + 0x48]
cmp eax, ecx
jg 0x1800441ea
movsx eax, byte [rsp + 0x42]
add eax, dword [rsp + 0x5c]
mov byte [rsp + 0x42], al
movsx eax, byte [rsp + 0x42]
movzx ecx, byte [0x18014636f]
imul eax, ecx
not eax
mov byte [rsp + 0x44], al
jmp 0x18004421a
movzx eax, byte [0x18014636a]
movzx eax, al
movsx ecx, word [rsp + 0x54]
cmp eax, ecx
jge 0x18004420a
mov dword [rsp + 0x1e8], 1
jmp 0x180044215
mov dword [rsp + 0x1e8], 0
movsx eax, word [rsp + 0x54]
mov eax, dword [0x18064fd50]
mov dword [rsp + 0xf0], eax
movsx rax, word [rsp + 0x48]
mov rcx, qword [0x180146470]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x180146470]
sub rcx, rax
mov rax, rcx
mov qword [0x180146470], rax
mov eax, dword [rsp + 0xf0]
add eax, 0x48a6
mov dword [rsp + 0x658], eax
mov rax, qword [0x1801464a8]
sub rax, 0x6df27ab3
mov qword [0x180146480], rax
mov eax, dword [rsp + 0xf0]
add eax, 0xe8
mov dword [rsp + 0x4f0], eax
mov eax, dword [rsp + 0xf0]
add eax, 0x1c
mov dword [rsp + 0x4e8], eax
movzx eax, byte [0x18014636f]
sub eax, dword [rsp + 0x58]
mov byte [0x18014636f], al
mov eax, dword [0x18064fd50]
mov dword [0x18014641c], eax
mov eax, dword [rsp + 0x4f0]
mov ecx, dword [rsp + 0x4e8]
sub eax, ecx
xor eax, 0x311
mov dword [rsp + 0x45c], eax
movzx eax, word [rsp + 0x4c]
cwde
test eax, eax
jne 0x1800442e9
mov dword [rsp + 0x1ec], 1
jmp 0x1800442f4
mov dword [rsp + 0x1ec], 0
movzx eax, byte [rsp + 0x40]
movzx eax, al
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
movzx ecx, byte [0x18014636e]
not ecx
mov edx, dword [rsp + 0x1ec]
add edx, ecx
mov ecx, edx
movsxd rcx, ecx
add rax, rcx
mov word [0x1801464d0], ax
mov eax, dword [0x18064fd50]
mov dword [rsp + 0xf4], eax
movzx eax, byte [0x18014636f]
movzx ecx, byte [0x180146396]
movsx ecx, cl
cmp eax, ecx
je 0x18004434f
jmp 0x180044376
mov eax, 2
imul rax, rax, 0x9de8
lea rcx, [0x180709250]
movzx eax, word [rcx + rax]
mov ecx, dword [0x180146490]
sub ecx, eax
mov eax, ecx
mov dword [0x180146490], eax
mov eax, dword [rsp + 0xf4]
add eax, 0xd7
mov dword [rsp + 0x65c], eax
mov eax, dword [rsp + 0x68]
cdqe
cmp rax, qword [0x1801464f0]
jle 0x1800443a5
mov dword [rsp + 0x1f4], 1
jmp 0x1800443b0
mov dword [rsp + 0x1f4], 0
mov eax, dword [rsp + 0x68]
cmp eax, 0x21
jle 0x1800443c6
mov dword [rsp + 0x1f0], 1
jmp 0x1800443d1
mov dword [rsp + 0x1f0], 0
mov eax, dword [rsp + 0x1f0]
cmp dword [rsp + 0x1f4], eax
je 0x180044469
mov rax, qword [rsp + 0x98]
mov rcx, qword [0x1801464e8]
cmp rax, rcx
jne 0x180044406
mov dword [rsp + 0x1fc], 1
jmp 0x180044411
mov dword [rsp + 0x1fc], 0
mov rax, qword [rsp + 0x98]
cmp rax, 0xb
jne 0x18004442c
mov dword [rsp + 0x1f8], 1
jmp 0x180044437
mov dword [rsp + 0x1f8], 0
mov eax, dword [rsp + 0x1f8]
cmp dword [rsp + 0x1fc], eax
jle 0x180044469
mov eax, dword [rsp + 0x60]
mov eax, eax
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x5c]
add eax, 0x4b
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0xf4]
add eax, 0x6c
mov dword [rsp + 0x4e0], eax
movsx eax, byte [rsp + 0x44]
add eax, 0x39
cdqe
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0xf4]
add eax, 0xa4
mov dword [rsp + 0x4e4], eax
lea rax, [rsp + 0x760]
lea rcx, [0x180110668]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x760]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x180146464], eax
movsx eax, word [rsp + 0x48]
mov ecx, dword [rsp + 0x60]
sub eax, ecx
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x4e0]
mov ecx, dword [rsp + 0x4e4]
lea eax, [rax + rcx + 0x1ba]
mov dword [rsp + 0x460], eax
movzx eax, byte [rsp + 0x43]
movsx rax, al
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0x6e
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x78]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1800416b0
mov byte [0x1801463d3], al
movzx eax, byte [0x1801463d3]
test eax, eax
je 0x1800445e8
mov eax, dword [rsp + 0x64]
cdqe
movzx ecx, byte [0x18014636a]
movzx ecx, cl
movzx edx, word [0x1801464e4]
movsx rdx, dx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor r8d, r8d
mov edx, 0xe6
mov rcx, qword [0x180146488]
call fcn.1800416b0
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x68]
test eax, eax
jge 0x18004459b
mov dword [rsp + 0x204], 1
jmp 0x1800445a6
mov dword [rsp + 0x204], 0
mov eax, dword [rsp + 0x68]
cmp eax, 0xc
jge 0x1800445bc
mov dword [rsp + 0x200], 1
jmp 0x1800445c7
mov dword [rsp + 0x200], 0
mov eax, dword [rsp + 0x200]
cmp dword [rsp + 0x204], eax
jne 0x1800445e3
movzx eax, word [0x18064fd50]
mov word [rsp + 0x48], ax
jmp 0x180044682
movzx eax, word [rsp + 0x50]
movzx eax, ax
cmp eax, 0x26
jge 0x180044602
mov dword [rsp + 0x20c], 1
jmp 0x18004460d
mov dword [rsp + 0x20c], 0
mov rax, qword [0x180146470]
movzx ecx, byte [0x1801463be]
movsx rcx, cl
cmp rax, rcx
jne 0x180044631
mov dword [rsp + 0x208], 1
jmp 0x18004463c
mov dword [rsp + 0x208], 0
mov eax, dword [rsp + 0x208]
mov ecx, dword [rsp + 0x20c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x180044682
mov rax, qword [0x1801464e8]
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
movzx eax, word [0x18064fd50]
mov word [0x180146478], ax
mov eax, dword [0x18064fd50]
mov dword [rsp + 0xf8], eax
mov eax, dword [rsp + 0xf8]
add eax, 0x5c
mov dword [rsp + 0x660], eax
movzx eax, byte [rsp + 0x40]
movzx eax, al
mov rcx, qword [rsp + 0x88]
cmp rax, rcx
jae 0x1800446c2
mov dword [rsp + 0x214], 1
jmp 0x1800446cd
mov dword [rsp + 0x214], 0
movzx eax, byte [rsp + 0x40]
movzx eax, al
cmp eax, 0x5d
jge 0x1800446e7
mov dword [rsp + 0x210], 1
jmp 0x1800446f2
mov dword [rsp + 0x210], 0
mov eax, dword [rsp + 0x210]
cmp dword [rsp + 0x214], eax
jg 0x180044712
mov eax, dword [0x1801464f8]
shl eax, 2
mov word [0x180146404], ax
mov eax, dword [rsp + 0xf8]
add eax, 0xb366
mov dword [rsp + 0x4ec], eax
mov qword [0x180146468], 4
mov eax, dword [rsp + 0x60]
dec eax
mov dword [rsp + 0x60], eax
mov rax, qword [0x180146468]
mov qword [rsp + 0x420], rax
cmp qword [rsp + 0x420], 0
je 0x18004478d
cmp qword [rsp + 0x420], 1
je 0x1800447b7
cmp qword [rsp + 0x420], 2
je 0x1800447df
cmp qword [rsp + 0x420], 3
je 0x180044809
cmp qword [rsp + 0x420], 4
je 0x18004482f
jmp 0x180044855
mov rax, qword [0x180146470]
add rax, 0x3e981817
mov qword [rsp + 0x78], rax
movzx eax, byte [0x180146369]
movzx eax, al
xor eax, 0xd9fcd61f
mov byte [rsp + 0x43], al
jmp 0x180044855
movzx eax, byte [rsp + 0x45]
movsx eax, al
mov ecx, dword [0x18014641c]
sub ecx, eax
mov eax, ecx
mov dword [0x18014641c], eax
movzx eax, byte [0x1801463d7]
imul eax, eax, 0x65
mov dword [rsp + 0x5c], eax
jmp 0x180044855
mov eax, dword [rsp + 0x64]
mov ecx, 0xd9eb8cb2
sub ecx, eax
mov eax, ecx
movzx ecx, byte [0x1801463d3]
add eax, ecx
mov word [0x180146404], ax
mov qword [0x180146468], 0xb4
jmp 0x180044855
movzx eax, byte [0x180146397]
movsx ecx, word [0x180146478]
imul eax, ecx
mov byte [0x180146397], al
movzx eax, byte [0x1801464fc]
mov byte [0x1801463f6], al
jmp 0x180044855
movzx eax, byte [rsp + 0x40]
movzx eax, al
sub eax, 0x6841
cdqe
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x58]
sub eax, 0x687d58ef
mov dword [0x18014641c], eax
mov eax, dword [rsp + 0xf8]
add eax, 0x4c57
mov dword [rsp + 0x440], eax
movzx eax, word [0x1801464e0]
movsx rax, ax
mov rcx, qword [0x180146498]
add rcx, rax
mov rax, rcx
mov qword [0x180146498], rax
movzx eax, byte [rsp + 0x45]
dec al
mov byte [rsp + 0x45], al
cmp dword [rsp + 0x5c], 0
jne 0x1800448a5
movzx eax, byte [rsp + 0x40]
movzx eax, al
test eax, eax
jne 0x1800448b1
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x1800449a3
movzx eax, word [0x180146404]
movsx rax, ax
cmp rax, qword [0x180146498]
je 0x1800448d2
mov dword [rsp + 0x218], 1
jmp 0x1800448dd
mov dword [rsp + 0x218], 0
movzx eax, word [rsp + 0x50]
movzx eax, ax
cmp dword [rsp + 0x218], eax
je 0x1800449a3
movzx eax, byte [0x1801463d6]
movsx eax, al
test eax, eax
jne 0x18004490e
mov qword [rsp + 0x5b0], 1
jmp 0x18004491a
mov qword [rsp + 0x5b0], 0
mov rax, qword [rsp + 0x5b0]
cmp qword [rsp + 0x70], rax
jl 0x180044936
mov dword [rsp + 0x220], 1
jmp 0x180044941
mov dword [rsp + 0x220], 0
movzx eax, byte [0x1801463d3]
mov ecx, dword [0x18014641c]
cmp eax, ecx
jae 0x18004495f
mov dword [rsp + 0x21c], 1
jmp 0x18004496a
mov dword [rsp + 0x21c], 0
mov eax, dword [rsp + 0x21c]
cmp dword [rsp + 0x220], eax
jne 0x1800449a1
mov rax, qword [0x1801464b0]
mov ecx, 0xfa8e0455
sub rax, rcx
mov dword [rsp + 0x64], eax
movzx eax, word [0x180146404]
cwde
add eax, 0x23648a56
mov word [0x1801464d0], ax
jmp 0x1800449c0
mov eax, dword [0x18014641c]
movzx ecx, byte [0x180146396]
movsx ecx, cl
lea eax, [rcx + rax + 0x48969e75]
mov byte [0x180146396], al
mov eax, dword [rsp + 0x4ec]
mov ecx, dword [rsp + 0x440]
imul eax, ecx
xor eax, 0x357f3d96
mov dword [rsp + 0x464], eax
mov rax, qword [0x1801464a0]
sub rax, 0x2f4e
mov byte [rsp + 0x46], al
mov eax, dword [rsp + 0x58]
xor eax, 0xe16cdabc
mov word [rsp + 0x50], ax
mov rax, qword [rsp + 0x7b0]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x518], 0
imul rax, qword [rsp + 0x70], 0xa3
mov byte [0x1801463bf], al
mov rax, qword [0x1801464e8]
add rax, 0xebc2
mov dword [0x180146464], eax
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x428], 0
movzx eax, word [0x1801464fc]
movzx ecx, byte [0x1801463d7]
cmp eax, ecx
jl 0x180044a71
mov dword [rsp + 0x228], 1
jmp 0x180044a7c
mov dword [rsp + 0x228], 0
movzx eax, word [0x1801464fc]
cmp eax, 0x3e
jl 0x180044a95
mov dword [rsp + 0x224], 1
jmp 0x180044aa0
mov dword [rsp + 0x224], 0
mov eax, dword [rsp + 0x224]
cmp dword [rsp + 0x228], eax
jg 0x180044b36
movzx eax, byte [0x1801463d3]
movsx ecx, word [rsp + 0x48]
cmp eax, ecx
jne 0x180044ad1
mov dword [rsp + 0x22c], 1
jmp 0x180044adc
mov dword [rsp + 0x22c], 0
mov eax, dword [rsp + 0x22c]
not eax
cdqe
mov rcx, qword [rsp + 0x98]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x90]
cmp rax, rcx
jle 0x180044b34
mov rax, qword [rsp + 0x78]
add rax, 0xb5
mov dword [rsp + 0x64], eax
movsx rax, word [rsp + 0x54]
mov rcx, qword [rsp + 0x78]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
jmp 0x180044b94
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x58]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x64]
add eax, ecx
test eax, eax
je 0x180044b94
movzx eax, word [0x1801464e4]
movsx rax, ax
mov rcx, qword [0x180146488]
imul rcx, rax
mov rax, rcx
mov qword [0x180146488], rax
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x180044b80
mov byte [rsp + 0xa0], 1
jmp 0x180044b88
mov byte [rsp + 0xa0], 0
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0x43], al
mov qword [rsp + 0x438], 0
mov dword [0x180146490], 1
mov rax, qword [rsp + 0x98]
add rax, 0x2cb2d92d
mov dword [0x1801464c0], eax
mov eax, dword [0x180146490]
mov dword [rsp + 0x230], eax
cmp dword [rsp + 0x230], 0
je 0x180044be1
cmp dword [rsp + 0x230], 1
je 0x180044c0f
jmp 0x180044c37
movsx eax, word [rsp + 0x54]
movzx ecx, byte [0x1801463be]
movsx ecx, cl
add eax, ecx
movsx ecx, word [rsp + 0x54]
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x54], ax
mov eax, dword [0x18064fd50]
mov qword [0x1801464e8], rax
jmp 0x180044c37
movzx eax, byte [rsp + 0x40]
movzx eax, al
mov ecx, dword [0x1801464c4]
imul ecx, eax
mov eax, ecx
mov dword [0x1801464c4], eax
movsx eax, word [rsp + 0x48]
add eax, 0x2395
mov word [rsp + 0x50], ax
mov dword [rsp + 0xc4], 0
movzx eax, word [0x1801464e0]
cwde
test eax, eax
je 0x180044dab
mov byte [rsp + 0x41], 4
movzx eax, word [0x180146404]
movsx rax, ax
mov rcx, qword [0x1801464a8]
imul rax, rcx
movzx ecx, word [0x180146404]
movsx rcx, cx
sub rcx, rax
mov rax, rcx
mov word [0x180146404], ax
movzx eax, byte [rsp + 0x41]
mov byte [rsp + 0xa4], al
cmp byte [rsp + 0xa4], 0
je 0x180044cd4
cmp byte [rsp + 0xa4], 1
je 0x180044cfd
cmp byte [rsp + 0xa4], 2
je 0x180044d48
cmp byte [rsp + 0xa4], 3
je 0x180044d65
cmp byte [rsp + 0xa4], 4
je 0x180044d8e
jmp 0x180044dab
movzx eax, byte [0x180146369]
movzx eax, al
mov ecx, dword [0x18014641c]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x18014641c]
sub ecx, eax
mov eax, ecx
mov dword [0x18014641c], eax
jmp 0x180044dab
mov eax, dword [0x18014647c]
sub eax, 0x5c16
mov byte [0x1801463d3], al
mov rax, qword [rsp + 0x98]
test rax, rax
jne 0x180044d28
mov dword [rsp + 0x234], 1
jmp 0x180044d33
mov dword [rsp + 0x234], 0
movsx eax, word [rsp + 0x48]
imul eax, dword [rsp + 0x234]
mov byte [0x1801463f6], al
jmp 0x180044dab
movzx eax, byte [rsp + 0x40]
movzx eax, al
mov ecx, dword [rsp + 0x64]
sub eax, ecx
mov byte [rsp + 0x40], al
mov qword [rsp + 0x70], 0x3d
jmp 0x180044dab
mov rax, qword [rsp + 0x98]
movabs rcx, 0x3444643ba8354
sub rax, rcx
mov ecx, dword [0x1801464d4]
sub rcx, rax
mov rax, rcx
mov dword [0x1801464d4], eax
jmp 0x180044dab
mov rax, qword [rsp + 0x98]
add rax, 4
mov byte [0x1801463f6], al
movzx eax, byte [rsp + 0x42]
dec al
mov byte [rsp + 0x42], al
mov qword [rsp + 0x5b8], 0
movzx eax, byte [rsp + 0x43]
movsx eax, al
test eax, eax
je 0x180044dd0
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x238], eax
jmp 0x180044ddf
movzx eax, word [0x1801464d0]
cwde
mov dword [rsp + 0x238], eax
movsxd rax, dword [rsp + 0x238]
mov qword [0x180146488], rax
mov qword [rsp + 0x5c0], 0
movzx eax, word [0x1801463d4]
cwde
test eax, eax
jne 0x180044e13
mov dword [rsp + 0x23c], 1
jmp 0x180044e1e
mov dword [rsp + 0x23c], 0
movzx eax, word [0x1801464d0]
cwde
not eax
xor eax, dword [rsp + 0x23c]
not eax
mov byte [rsp + 0x44], al
mov qword [rsp + 0x178], 0
cmp qword [rsp + 0x7b0], 0
jne 0x180044e8c
movzx eax, byte [0x180146369]
movzx eax, al
movsx ecx, word [rsp + 0x48]
movzx eax, word [0x1801463d4]
cwde
mov ecx, dword [0x1801464d8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [0x1801464d8]
sub ecx, eax
mov eax, ecx
mov dword [0x1801464d8], eax
mov eax, dword [rsp + 0x444]
mov eax, eax
jmp 0x18004a106
mov rax, qword [rsp + 0xb0]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0xb0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x5b8], rax
mov dx, 0xa2
movzx ecx, word [rsp + 0x78]
call fcn.180040d20
mov byte [0x1801463bf], al
movzx eax, word [rsp + 0x4c]
movsx rax, ax
mov rcx, qword [0x1801464f0]
sub rcx, rax
mov rax, rcx
movzx ecx, byte [0x180146397]
cmp rax, rcx
jl 0x180044f2b
movzx eax, byte [0x1801463be]
movsx eax, al
cmp eax, dword [0x1801464dc]
jb 0x180044f03
mov dword [rsp + 0x240], 1
jmp 0x180044f0e
mov dword [rsp + 0x240], 0
movzx eax, byte [0x1801463d3]
movzx ecx, byte [0x180146397]
add eax, ecx
cmp eax, dword [rsp + 0x240]
je 0x180045000
movzx eax, byte [0x1801463f6]
cmp eax, 0x7c
jle 0x180044f44
mov dword [rsp + 0x24c], 1
jmp 0x180044f4f
mov dword [rsp + 0x24c], 0
mov rax, qword [0x180146468]
test rax, rax
jne 0x180044f68
mov dword [rsp + 0x244], 1
jmp 0x180044f73
mov dword [rsp + 0x244], 0
movzx eax, byte [0x1801463d7]
not eax
cmp dword [rsp + 0x244], eax
jg 0x180044f92
mov dword [rsp + 0x248], 1
jmp 0x180044f9d
mov dword [rsp + 0x248], 0
mov eax, dword [rsp + 0x248]
cmp dword [rsp + 0x24c], eax
jge 0x180044faf
jmp 0x180044ffe
movzx eax, byte [rsp + 0x45]
movsx rax, al
movabs rcx, 0x6f9f414bf41e9
and rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x5c]
imul eax, dword [rsp + 0x5c]
cdqe
mov ecx, dword [rsp + 0x68]
movsxd rcx, ecx
mov rdx, qword [0x180146498]
add rdx, rcx
mov rcx, rdx
movsxd rdx, dword [rsp + 0x58]
imul rcx, rdx
imul rax, rcx
mov word [rsp + 0x4c], ax
jmp 0x18004502d
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x18004502d
movzx eax, word [0x1801464e0]
cwde
sub eax, 0x788c
mov byte [0x180146397], al
mov eax, dword [0x1801464d8]
shl eax, 7
mov byte [rsp + 0x41], al
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x5b8]
lea rax, [rcx + rax + 0x88]
mov qword [rsp + 0x5c0], rax
xor edx, edx
xor ecx, ecx
call fcn.180040d20
mov byte [0x1801463d3], al
movzx eax, byte [0x1801463d3]
test eax, eax
je 0x18004512b
mov byte [rsp + 0x40], 4
movsx eax, word [rsp + 0x48]
not eax
cdqe
mov qword [rsp + 0x70], rax
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0xb8], al
cmp byte [rsp + 0xb8], 0
je 0x1800450b5
cmp byte [rsp + 0xb8], 1
je 0x1800450c4
cmp byte [rsp + 0xb8], 3
je 0x1800450db
cmp byte [rsp + 0xb8], 4
je 0x180045105
jmp 0x180045129
movzx eax, byte [0x18064fd50]
mov byte [0x18014636e], al
jmp 0x180045129
mov rax, qword [0x1801464e8]
sub rax, 0xeb
mov byte [0x18014636b], al
jmp 0x180045129
movzx eax, byte [0x18014636e]
movzx ecx, word [0x1801464e0]
movsx ecx, cx
sub eax, ecx
mov dword [rsp + 0x68], eax
movzx eax, word [0x1801464d0]
cwde
add eax, 0x2c70b8a6
mov dword [rsp + 0x60], eax
jmp 0x180045129
movzx eax, word [0x1801464dc]
mov word [0x1801464e0], ax
movzx eax, byte [rsp + 0x46]
movzx eax, al
add eax, 0x83
cdqe
mov qword [0x1801464e8], rax
jmp 0x180045165
movzx eax, byte [0x180146397]
mov rcx, qword [0x1801464c8]
lea rax, [rax + rcx + 0xcf]
mov byte [0x180146397], al
movzx eax, byte [0x180146397]
mov ecx, dword [rsp + 0x64]
add eax, ecx
movzx ecx, byte [0x180146397]
add ecx, eax
mov eax, ecx
mov byte [0x180146397], al
mov rax, qword [rsp + 0x5c0]
mov eax, dword [rax]
mov rcx, qword [rsp + 0xb0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x178], rax
movzx eax, byte [0x1801463d3]
mov rcx, qword [rsp + 0x90]
cmp rax, rcx
jg 0x1800451e8
movsx eax, byte [rsp + 0x44]
test eax, eax
jne 0x1800451b0
mov qword [rsp + 0x5c8], 1
jmp 0x1800451bc
mov qword [rsp + 0x5c8], 0
mov rax, qword [rsp + 0x5c8]
cmp qword [rsp + 0x78], rax
jle 0x1800451cd
jmp 0x1800451e8
movzx eax, byte [0x18014636f]
test eax, eax
jne 0x1800451e8
movsx eax, word [rsp + 0x54]
add eax, 0xfe4c
mov dword [0x1801464f8], eax
mov rax, qword [rsp + 0x178]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0xb0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x180045226
movzx eax, byte [0x1801463d7]
mov dword [rsp + 0x250], eax
jmp 0x180045233
mov eax, dword [0x180146464]
mov dword [rsp + 0x250], eax
mov eax, dword [rsp + 0x250]
mov dword [0x1801464f8], eax
mov rax, qword [rsp + 0x178]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0xb0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x428], rax
mov rax, qword [rsp + 0x178]
mov eax, dword [rax + 0x24]
mov rcx, qword [rsp + 0xb0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x438], rax
mov eax, 0xffff0000
mov rcx, qword [rsp + 0x7b8]
and rcx, rax
mov rax, rcx
test rax, rax
jne 0x1800453b8
movsx rax, word [rsp + 0x48]
movabs rcx, 0x94caa6e9cef4c
sub rax, rcx
movzx ecx, word [rsp + 0x4c]
movsx rcx, cx
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x4c], ax
movzx eax, byte [0x180146397]
not eax
cdqe
sub rax, qword [0x1801464c8]
test rax, rax
jne 0x1800452ea
mov qword [rsp + 0x5d0], 1
jmp 0x1800452f6
mov qword [rsp + 0x5d0], 0
mov rax, qword [0x1801464e8]
not rax
mov rcx, qword [rsp + 0x90]
not rcx
mov edx, dword [0x1801464f8]
not edx
mov edx, edx
add rcx, rdx
mov rdx, qword [rsp + 0x5d0]
sub rdx, rcx
mov rcx, rdx
imul rax, rcx
mov qword [rsp + 0x80], rax
movzx eax, byte [rsp + 0x41]
movabs rcx, 0xa7afb4b05602b
xor rax, rcx
mov dword [rsp + 0x68], eax
movzx eax, word [0x180146404]
cwde
movzx ecx, word [0x1801464e4]
movsx ecx, cx
add eax, ecx
mov word [0x180146404], ax
mov rax, qword [rsp + 0x7b8]
and rax, 0xffff
mov rcx, qword [rsp + 0x178]
mov ecx, dword [rcx + 0x10]
sub rax, rcx
mov rcx, qword [rsp + 0x170]
lea rax, [rcx + rax*4]
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x170]
mov eax, dword [rax]
mov rcx, qword [rsp + 0xb0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x518], rax
jmp 0x18004a0bf
cmp dword [rsp + 0x5c], 0
je 0x1800453f3
movsx eax, byte [0x18014636b]
test eax, eax
je 0x1800453f3
mov eax, 0x14
mov word [rsp + 0x50], ax
movsx eax, word [rsp + 0x54]
movzx ecx, byte [0x180146396]
movsx ecx, cl
xor eax, ecx
movsx ecx, word [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x54], ax
mov eax, dword [0x18064fd50]
mov dword [rsp + 0xfc], eax
mov rax, qword [rsp + 0x98]
test rax, rax
jne 0x18004541a
mov dword [rsp + 0x254], 1
jmp 0x180045425
mov dword [rsp + 0x254], 0
mov eax, dword [rsp + 0x254]
mov ecx, dword [0x1801464d4]
sub ecx, eax
mov eax, ecx
mov word [0x1801464d0], ax
mov eax, dword [rsp + 0xfc]
add eax, 0x21a
mov dword [rsp + 0x47c], eax
movsx rax, byte [rsp + 0x42]
movsxd rcx, dword [rsp + 0x58]
movzx edx, byte [0x18014636e]
movsxd rdi, dword [rsp + 0x5c]
mov qword [rsp + 0x30], 0x64
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
mov r9, rcx
mov r8d, edx
xor edx, edx
mov rcx, rdi
call fcn.1800416b0
mov word [rsp + 0x54], ax
movsx eax, word [rsp + 0x54]
test eax, eax
jg 0x180045582
cmp qword [rsp + 0x78], 0
jne 0x1800454b6
mov qword [rsp + 0x5d8], 1
jmp 0x1800454c2
mov qword [rsp + 0x5d8], 0
mov rax, qword [0x1801464a0]
sub rax, qword [rsp + 0x5d8]
test rax, rax
je 0x180045508
movsx eax, word [rsp + 0x48]
add eax, 0xa4
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x64]
cdqe
mov rcx, qword [0x180146470]
add rax, rcx
mov ecx, dword [rsp + 0x64]
movsxd rcx, ecx
or rcx, rax
mov rax, rcx
mov dword [rsp + 0x64], eax
jmp 0x180045580
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x18004551e
mov dword [rsp + 0x258], 1
jmp 0x180045529
mov dword [rsp + 0x258], 0
mov eax, dword [0x1801464f8]
cmp dword [rsp + 0x258], eax
jbe 0x180045546
mov qword [rsp + 0x5e0], 1
jmp 0x180045552
mov qword [rsp + 0x5e0], 0
movzx eax, byte [0x18014636a]
movzx eax, al
mov rcx, qword [rsp + 0x70]
not rcx
sub rax, rcx
cmp rax, qword [rsp + 0x5e0]
jg 0x180045580
movsxd rax, dword [0x18014647c]
mov qword [rsp + 0x80], rax
jmp 0x1800455ce
cmp dword [rsp + 0x5c], 0
jne 0x180045597
mov qword [rsp + 0x5e8], 1
jmp 0x1800455a3
mov qword [rsp + 0x5e8], 0
mov rax, qword [rsp + 0x88]
add rax, qword [rsp + 0x5e8]
movzx ecx, byte [0x1801463d6]
movsx ecx, cl
mov edx, dword [rsp + 0x60]
sub ecx, edx
mov ecx, ecx
sub rax, rcx
mov dword [0x1801464c4], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x312
mov dword [rsp + 0x664], eax
movzx eax, word [0x1801464fc]
mov rcx, qword [rsp + 0x90]
cmp rax, rcx
je 0x180045602
mov dword [rsp + 0x260], 1
jmp 0x18004560d
mov dword [rsp + 0x260], 0
movzx eax, word [0x1801464fc]
cmp eax, 0x3c
je 0x180045626
mov dword [rsp + 0x25c], 1
jmp 0x180045631
mov dword [rsp + 0x25c], 0
mov eax, dword [rsp + 0x25c]
cmp dword [rsp + 0x260], eax
jge 0x180045650
imul rax, qword [0x180146498], 0x777e3bcc
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0xfc]
add eax, 0xdb
mov dword [rsp + 0x300], eax
mov rax, qword [rsp + 0x98]
add rax, 0x86df
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov eax, dword [0x18064fd50]
mov dword [rsp + 0x100], eax
mov eax, dword [rsp + 0x100]
add eax, 0x37
mov dword [rsp + 0xcc], eax
mov dx, 0xd8
xor ecx, ecx
call fcn.180040d20
mov word [0x1801464e4], ax
movzx eax, word [0x1801464e4]
cwde
test eax, eax
jle 0x1800456d0
mov dword [rsp + 0x268], 1
jmp 0x1800456db
mov dword [rsp + 0x268], 0
movzx eax, word [0x1801464e4]
cwde
cmp eax, 0x2d
jle 0x1800456f5
mov dword [rsp + 0x264], 1
jmp 0x180045700
mov dword [rsp + 0x264], 0
mov eax, dword [rsp + 0x264]
cmp dword [rsp + 0x268], eax
jle 0x18004576c
movzx eax, byte [0x18014636e]
mov ecx, dword [0x1801464c4]
cmp eax, ecx
jb 0x180045740
movzx eax, byte [0x18014636a]
movzx eax, al
movabs rcx, 0x28a4473f95a65
add rax, rcx
mov byte [0x180146397], al
jmp 0x18004576c
movsx rax, word [rsp + 0x48]
movabs rcx, 0x6867d64511e82
cmp rax, rcx
jge 0x18004576c
mov qword [rsp + 0x80], 0x4982
mov eax, dword [0x18064fd50]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x100]
add eax, 0x322
mov dword [rsp + 0x34c], eax
mov qword [0x1801464c8], 0
mov eax, 1
mov word [0x1801463d4], ax
mov eax, dword [0x1801464d4]
movabs rcx, 0x8a0bfe308612d
xor rax, rcx
mov word [0x1801464fc], ax
mov rax, qword [0x1801464c8]
mov qword [rsp + 0x6e0], rax
cmp qword [rsp + 0x6e0], 0
je 0x1800457cc
jmp 0x1800457d8
mov eax, dword [0x1801464c0]
sar eax, 1
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x100]
add eax, 0xa8
mov dword [rsp + 0x480], eax
mov eax, dword [0x1801464f8]
shl eax, 8
mov word [rsp + 0x50], ax
mov eax, 8
imul rax, rax, 0x65
lea rcx, [0x18074e3e0]
mov rax, qword [rcx + rax]
mov qword [0x180146468], rax
mov eax, dword [0x18064fd50]
mov dword [rsp + 0x104], eax
mov qword [rsp + 0x30], 0x1b
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0xa7
xor r8d, r8d
mov edx, 0x90
xor ecx, ecx
call fcn.1800416b0
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
test eax, eax
jae 0x180045876
mov rax, qword [0x1801464e8]
movabs rcx, 0xc1727c71e837d
sub rax, rcx
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x104]
add eax, 0x36a
mov dword [rsp + 0x6c0], eax
movzx eax, byte [0x18014636e]
not eax
mov word [rsp + 0x4c], ax
movzx eax, byte [0x18064fd50]
mov byte [0x18014636f], al
mov eax, dword [rsp + 0x104]
add eax, 0xf8
mov dword [rsp + 0xd4], eax
cmp dword [0x1801464d4], 0
je 0x1800458d3
movsx eax, word [0x180146478]
add eax, 0x67
mov word [0x1801463d4], ax
jmp 0x180045918
xor eax, eax
cmp eax, 0xec
je 0x1800458f3
mov eax, dword [rsp + 0x68]
not eax
test eax, eax
je 0x1800458f3
mov dword [rsp + 0x26c], 1
jmp 0x1800458fe
mov dword [rsp + 0x26c], 0
mov eax, dword [rsp + 0x26c]
cmp dword [rsp + 0x5c], eax
jl 0x180045918
movsx eax, byte [rsp + 0x42]
add eax, dword [rsp + 0x58]
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x104]
add eax, 0x9e
mov dword [rsp + 0x668], eax
movzx eax, word [rsp + 0x4c]
cwde
mov ecx, dword [rsp + 0x60]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
mov eax, dword [0x18064fd50]
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x88]
movabs rcx, 0xde321beb0a148
sub rax, rcx
mov ecx, dword [rsp + 0x64]
movsxd rcx, ecx
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x58]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x58]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x108]
add eax, 0x37
mov dword [rsp + 0x6c4], eax
mov qword [rsp + 0x30], 0xde
mov qword [rsp + 0x28], 0x2d
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x80]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1800416b0
mov word [0x1801463d4], ax
movzx eax, word [0x1801463d4]
cwde
test eax, eax
jg 0x1800459e8
mov dword [rsp + 0x274], 1
jmp 0x1800459f3
mov dword [rsp + 0x274], 0
movzx eax, word [0x1801463d4]
cwde
cmp eax, 0x4b
jg 0x180045a0d
mov dword [rsp + 0x270], 1
jmp 0x180045a18
mov dword [rsp + 0x270], 0
mov eax, dword [rsp + 0x270]
cmp dword [rsp + 0x274], eax
jl 0x180045b78
mov rax, qword [0x1801464b0]
mov rcx, qword [0x180146488]
movsx edx, word [rsp + 0x48]
movzx edi, byte [0x1801463d7]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
mov r9d, ecx
mov r8d, 0xe1
mov ecx, edi
call fcn.1800419e0
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x43]
movsx eax, al
test eax, eax
jg 0x180045abd
mov eax, dword [0x1801464d8]
test eax, eax
je 0x180045a9c
movzx eax, byte [0x1801463d6]
movsx eax, al
mov ecx, dword [rsp + 0x68]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x68], eax
jmp 0x180045ab8
movzx eax, byte [0x18064fd50]
mov byte [0x1801463f6], al
mov rax, qword [0x180146480]
sub rax, 0x54
mov byte [rsp + 0x42], al
jmp 0x180045b76
movsx rax, word [0x180146478]
mov rcx, qword [0x1801464a8]
not rcx
add rax, rcx
test rax, rax
je 0x180045afc
mov eax, dword [0x1801464dc]
mov rcx, qword [str._buAG]
imul rax, rcx
mov ecx, dword [0x1801464dc]
add rcx, rax
mov rax, rcx
mov dword [0x1801464dc], eax
jmp 0x180045b76
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x180045b17
mov rax, qword [0x1801464a0]
add rax, 0xf6
mov byte [rsp + 0x41], al
jmp 0x180045b76
mov eax, dword [0x1801464c4]
movzx ecx, word [0x1801464e0]
movsx ecx, cx
cmp eax, ecx
jae 0x180045b76
movzx eax, word [0x180146404]
cwde
movzx ecx, byte [0x18014636f]
not ecx
mov edx, dword [0x1801464d4]
add edx, eax
mov eax, edx
add ecx, eax
mov eax, ecx
mov word [rsp + 0x48], ax
movzx eax, byte [0x18014636e]
movabs rcx, 0x8c90b72486088
sub rax, rcx
movzx ecx, byte [0x180146397]
xor rcx, rax
mov rax, rcx
mov byte [0x180146397], al
jmp 0x180045ba0
mov eax, 2
imul rax, rax, 0x35d4
lea rcx, [0x18072b900]
movsx eax, word [rcx + rax]
movzx ecx, byte [0x180146397]
sub ecx, eax
mov eax, ecx
mov byte [0x180146397], al
mov eax, dword [rsp + 0x108]
add eax, 0x10f
mov dword [rsp + 0x280], eax
movzx eax, word [0x1801464e4]
cwde
test eax, eax
je 0x180045d1f
mov qword [rsp + 0x78], 3
mov byte [rsp + 0x46], 0xb0
mov rax, qword [0x180146468]
mov byte [0x1801463d6], al
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x430], rax
cmp qword [rsp + 0x430], 0
je 0x180045c24
cmp qword [rsp + 0x430], 1
je 0x180045c47
cmp qword [rsp + 0x430], 2
je 0x180045cba
cmp qword [rsp + 0x430], 3
je 0x180045ceb
jmp 0x180045d1f
mov eax, dword [rsp + 0x58]
sub eax, 0xa4
mov dword [rsp + 0x58], eax
mov rax, qword [0x1801464b0]
sub rax, 0x93f2
mov byte [rsp + 0x45], al
jmp 0x180045d1f
mov eax, dword [rsp + 0x68]
test eax, eax
jne 0x180045c5d
mov qword [rsp + 0x5f0], 1
jmp 0x180045c69
mov qword [rsp + 0x5f0], 0
mov rax, qword [rsp + 0x98]
not rax
mov rcx, qword [0x180146498]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x5f0]
sub rcx, rax
mov rax, rcx
not rax
mov qword [0x1801464c8], rax
movsx eax, byte [rsp + 0x42]
movzx ecx, word [0x1801464e0]
movsx ecx, cx
add eax, ecx
movsx ecx, byte [rsp + 0x42]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x42], al
jmp 0x180045d1f
mov eax, dword [rsp + 0x68]
cdqe
mov rcx, qword [0x180146498]
not rcx
xor rax, rcx
movzx ecx, byte [rsp + 0x46]
movzx ecx, cl
movsx edx, word [rsp + 0x54]
add ecx, edx
movsxd rcx, ecx
imul rax, rcx
mov dword [0x18014647c], eax
jmp 0x180045d1f
mov rax, qword [0x1801464f0]
sub rax, 0xdb
mov dword [0x1801464c4], eax
movzx eax, byte [0x18014636e]
movzx ecx, word [0x1801464fc]
add eax, ecx
movzx ecx, byte [0x18014636e]
sub ecx, eax
mov eax, ecx
mov byte [0x18014636e], al
mov eax, dword [rsp + 0x108]
add eax, 0x3cb
mov dword [rsp + 0x6bc], eax
movzx eax, byte [rsp + 0x40]
movzx eax, al
mov ecx, dword [rsp + 0x68]
sub eax, ecx
mov byte [rsp + 0x40], al
movzx eax, word [0x1801464d0]
cwde
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 0x83
mov dword [rsp + 0x20], 0xb0
xor r9d, r9d
mov r8d, 0xed
mov edx, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x5c]
call fcn.1800419e0
mov eax, eax
mov qword [0x1801464c8], rax
cmp qword [0x1801464c8], 0
je 0x180045e51
mov rax, qword [rsp + 0x90]
test rax, rax
jne 0x180045da7
mov dword [rsp + 0x278], 1
jmp 0x180045db2
mov dword [rsp + 0x278], 0
movzx eax, byte [0x1801463f6]
sub eax, dword [rsp + 0x278]
test eax, eax
jne 0x180045dd2
mov qword [rsp + 0x5f8], 1
jmp 0x180045dde
mov qword [rsp + 0x5f8], 0
mov eax, dword [0x180146490]
add eax, 0xb5fad3e0
and eax, 0x1866
mov eax, eax
movsx rcx, byte [rsp + 0x42]
mov rdx, qword [0x180146488]
imul rdx, rcx
mov rcx, rdx
not rcx
mov rdx, qword [rsp + 0x5f8]
sub rdx, rcx
mov rcx, rdx
not rcx
add rax, rcx
test rax, rax
jne 0x180045e2d
mov dword [rsp + 0x27c], 1
jmp 0x180045e38
mov dword [rsp + 0x27c], 0
mov eax, dword [rsp + 0x27c]
mov dword [rsp + 0x5c], eax
mov eax, dword [0x180146464]
dec eax
mov dword [0x180146464], eax
mov eax, dword [rsp + 0x280]
mov ecx, dword [rsp + 0x280]
sub eax, ecx
add eax, 0xd8
mov dword [rsp + 0x484], eax
movzx eax, word [0x1801464e0]
cwde
mov ecx, dword [0x18014641c]
sub eax, ecx
movzx ecx, word [0x1801464e0]
movsx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x1801464e0], ax
mov rax, qword [0x1801464a0]
add rax, 0xe1
mov byte [rsp + 0x43], al
mov eax, dword [0x18064fd50]
mov dword [rsp + 0x10c], eax
mov eax, dword [0x18064fd50]
mov qword [rsp + 0x78], rax
movzx eax, word [0x1801464e0]
cwde
sub eax, 0xd893
cdqe
mov qword [0x180146488], rax
mov eax, dword [rsp + 0x10c]
add eax, 0x73
mov dword [rsp + 0x6b8], eax
movzx eax, word [0x1801464d0]
cwde
movzx ecx, byte [0x18014636f]
lea eax, [rcx + rax + 0x6b86]
mov byte [0x18014636f], al
mov eax, dword [rsp + 0x10c]
add eax, 0x8fdb
mov dword [rsp + 0x6b4], eax
mov byte [rsp + 0x43], 4
movzx eax, byte [0x1801463d6]
movsx eax, al
imul eax, eax, 0xf3
mov dword [0x1801464c4], eax
mov byte [rsp + 0x43], 0xf6
movzx eax, byte [rsp + 0x43]
mov byte [rsp + 0xbc], al
cmp byte [rsp + 0xbc], 0
je 0x180045f6a
cmp byte [rsp + 0xbc], 1
je 0x180045fbb
cmp byte [rsp + 0xbc], 2
je 0x180045fcb
cmp byte [rsp + 0xbc], 4
je 0x180045fd9
jmp 0x180046054
mov eax, dword [0x1801464c4]
mov eax, eax
mov rcx, qword [0x1801464b0]
sub rcx, rax
mov rax, rcx
mov qword [0x1801464b0], rax
cmp dword [0x1801464f8], 0
je 0x180045f9e
movzx eax, word [rsp + 0x4c]
cwde
mov dword [rsp + 0x284], eax
jmp 0x180045faa
movsx eax, byte [rsp + 0x44]
mov dword [rsp + 0x284], eax
movzx eax, byte [rsp + 0x284]
mov byte [rsp + 0x43], al
jmp 0x180046054
mov rax, qword [0x180146470]
mov dword [rsp + 0x58], eax
jmp 0x180046054
mov eax, 4
mov word [rsp + 0x50], ax
jmp 0x180046054
cmp qword [rsp + 0x70], 0
jne 0x180045fef
mov qword [rsp + 0x600], 1
jmp 0x180045ffb
mov qword [rsp + 0x600], 0
movsx rax, word [0x180146478]
movabs rcx, 0xfff23a7655b88084
imul rax, rcx
not rax
mov ecx, dword [0x18014641c]
mov ecx, ecx
mov rdx, qword [rsp + 0x88]
sub rcx, rdx
sub rax, rcx
mov rcx, qword [rsp + 0x600]
xor rcx, rax
mov rax, rcx
mov qword [str._buAG], rax
movzx eax, byte [0x180146397]
mov ecx, dword [0x18014641c]
sub eax, ecx
mov byte [0x180146397], al
mov eax, dword [rsp + 0x10c]
add eax, 0x4466
mov dword [rsp + 0x448], eax
mov rax, qword [0x180146470]
mov rcx, qword [rsp + 0x70]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x70]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov byte [0x18014636a], 0x9a
movzx eax, byte [0x180146396]
movsx rax, al
movsx rcx, word [rsp + 0x54]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0x4b
xor r9d, r9d
mov r8, rax
mov rdx, rcx
xor ecx, ecx
call fcn.1800416b0
mov qword [0x1801464b0], rax
mov rax, qword [0x1801464b0]
test rax, rax
jae 0x1800460ed
mov dword [rsp + 0x28c], 1
jmp 0x1800460f8
mov dword [rsp + 0x28c], 0
mov rax, qword [0x1801464b0]
cmp rax, 7
jae 0x180046112
mov dword [rsp + 0x288], 1
jmp 0x18004611d
mov dword [rsp + 0x288], 0
mov eax, dword [rsp + 0x288]
cmp dword [rsp + 0x28c], eax
jge 0x18004612f
jmp 0x180046146
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x180046146
mov byte [rsp + 0x45], 0x1a
mov byte [rsp + 0x44], 0xe5
mov eax, dword [rsp + 0x448]
xor eax, 0xa222
mov ecx, dword [rsp + 0x44c]
xor ecx, 0x1f8
mov edx, dword [rsp + 0x290]
mov edi, dword [rsp + 0x290]
sub edx, edi
imul ecx, edx
mov edx, 0xffff1c8c
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x488], eax
mov rax, qword [0x1801464b0]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 5
mov dword [rsp + 0x20], 0
mov r9d, eax
xor r8d, r8d
mov edx, dword [0x1801464c8]
xor ecx, ecx
call fcn.1800419e0
mov byte [0x18014636b], al
movsx eax, byte [0x18014636b]
test eax, eax
jle 0x1800461cd
jmp 0x180046349
movzx eax, word [rsp + 0x50]
movzx eax, ax
test eax, eax
je 0x18004622c
movsx rax, word [rsp + 0x48]
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x98]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov eax, 2
imul rax, rax, 0x3d80
lea rcx, [0x180709250]
movzx eax, word [rcx + rax]
movzx ecx, byte [rsp + 0x41]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x41], al
jmp 0x180046349
movzx eax, word [rsp + 0x50]
movzx eax, ax
test eax, eax
je 0x180046251
mov rax, qword [0x180146470]
test rax, rax
je 0x180046251
mov dword [rsp + 0x294], 1
jmp 0x18004625c
mov dword [rsp + 0x294], 0
movsx eax, byte [rsp + 0x44]
cmp dword [rsp + 0x294], eax
je 0x1800462ad
movzx eax, word [0x180146404]
movsx rax, ax
movsx rcx, byte [rsp + 0x44]
movabs rdx, 0xb508a0700746c
add rcx, rdx
add rax, rcx
mov byte [rsp + 0x44], al
movzx eax, word [0x1801464e0]
cwde
movzx ecx, word [rsp + 0x4c]
movsx ecx, cx
add eax, ecx
mov word [0x1801464e0], ax
jmp 0x180046349
mov rax, qword [0x180146480]
not rax
movzx ecx, byte [0x180146369]
movzx ecx, cl
cmp rax, rcx
jge 0x1800462d3
mov dword [rsp + 0x29c], 1
jmp 0x1800462de
mov dword [rsp + 0x29c], 0
movzx eax, byte [0x18014636f]
not eax
cdqe
mov rcx, qword [0x1801464a8]
cmp rax, rcx
jae 0x180046302
mov dword [rsp + 0x298], 1
jmp 0x18004630d
mov dword [rsp + 0x298], 0
mov eax, dword [rsp + 0x298]
cmp dword [rsp + 0x29c], eax
jg 0x180046349
mov rax, qword [rsp + 0x70]
sar rax, 5
mov byte [rsp + 0x43], al
movzx eax, byte [0x18014636f]
mov ecx, dword [rsp + 0x68]
imul eax, ecx
movzx ecx, byte [0x18014636f]
sub ecx, eax
mov eax, ecx
mov byte [0x18014636f], al
mov eax, dword [0x18064fd50]
mov dword [rsp + 0x110], eax
movzx eax, word [0x1801464d0]
cwde
movzx ecx, word [0x180146404]
movsx ecx, cx
add eax, ecx
mov word [0x1801464d0], ax
movzx eax, byte [rsp + 0x43]
movsx rax, al
mov rcx, qword [0x1801464a8]
imul rcx, rax
mov rax, rcx
mov qword [0x1801464a8], rax
mov eax, dword [rsp + 0x110]
add eax, 0x79ac
mov dword [rsp + 0x454], eax
movzx eax, byte [0x1801463bf]
movzx eax, al
imul eax, eax, 0x81fa997f
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x60]
mov eax, eax
mov ecx, 8
imul rcx, rcx, 0x7ed4
lea rdx, [0x18075a930]
mov qword [rdx + rcx], rax
mov eax, dword [rsp + 0x110]
add eax, 0xea
mov dword [rsp + 0x6ac], eax
movzx eax, byte [rsp + 0x45]
movsx eax, al
mov ecx, dword [rsp + 0x68]
cmp eax, ecx
jne 0x180046404
mov dword [rsp + 0x2a4], 1
jmp 0x18004640f
mov dword [rsp + 0x2a4], 0
movzx eax, byte [rsp + 0x45]
movsx eax, al
cmp eax, 0x5a
jne 0x180046429
mov dword [rsp + 0x2a0], 1
jmp 0x180046434
mov dword [rsp + 0x2a0], 0
mov eax, dword [rsp + 0x2a0]
cmp dword [rsp + 0x2a4], eax
je 0x1800464ac
movzx eax, byte [rsp + 0x46]
movzx eax, al
cmp rax, qword [0x1801464c8]
je 0x180046476
mov eax, 1
imul rax, rax, 0x5406
lea rcx, [0x180721250]
movsx rax, byte [rcx + rax]
mov qword [0x1801464b0], rax
jmp 0x1800464aa
mov rax, qword [0x180146468]
sub rax, 0x69cf
mov qword [rsp + 0x90], rax
movsx eax, byte [0x18014636b]
not eax
cdqe
mov rcx, qword [0x180146488]
add rcx, rax
mov rax, rcx
mov word [0x1801464d0], ax
jmp 0x1800464e6
cmp qword [0x180146498], 0
je 0x1800464e6
movzx eax, byte [rsp + 0x45]
movsx rax, al
movabs rcx, 0x70844a2174e96
add rax, rcx
movzx ecx, byte [rsp + 0x41]
xor rax, rcx
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
or rax, rcx
mov qword [0x1801464c8], rax
mov eax, dword [rsp + 0x110]
add eax, 0x9a
mov dword [rsp + 0x450], eax
mov eax, 8
mov word [rsp + 0x50], ax
movzx eax, byte [0x18014636f]
movzx ecx, word [rsp + 0x50]
movzx ecx, cx
add eax, ecx
mov dword [0x1801464d4], eax
cmp qword [rsp + 0x78], 0
jne 0x18004652f
mov dword [rsp + 0x2a8], 1
jmp 0x18004653a
mov dword [rsp + 0x2a8], 0
mov eax, dword [rsp + 0x2a8]
mov dword [0x180146464], eax
mov eax, dword [rsp + 0x450]
mov ecx, dword [rsp + 0x454]
imul eax, ecx
add eax, 0xffb6cf3e
mov ecx, dword [rsp + 0x458]
mov edx, dword [rsp + 0xc0]
add ecx, edx
imul ecx, ecx, 0
mov edx, dword [rsp + 0xc0]
mov edi, dword [rsp + 0xc0]
sub edx, edi
mov edi, dword [rsp + 0xc0]
imul edi, edi, 0x36b
imul edx, edi
add ecx, edx
sub eax, ecx
mov dword [rsp + 0x48c], eax
mov eax, dword [0x180146494]
cmp rax, qword [rsp + 0x70]
jl 0x1800465b5
mov dword [rsp + 0x2b0], 1
jmp 0x1800465c0
mov dword [rsp + 0x2b0], 0
cmp dword [0x180146494], 0x62
jb 0x1800465d6
mov dword [rsp + 0x2ac], 1
jmp 0x1800465e1
mov dword [rsp + 0x2ac], 0
mov eax, dword [rsp + 0x2ac]
cmp dword [rsp + 0x2b0], eax
jl 0x1800466b0
movsxd rax, dword [rsp + 0x5c]
cmp qword [0x180146498], rax
ja 0x180046610
mov dword [rsp + 0x2b8], 1
jmp 0x18004661b
mov dword [rsp + 0x2b8], 0
cmp qword [0x180146498], 0x30
ja 0x180046632
mov dword [rsp + 0x2b4], 1
jmp 0x18004663d
mov dword [rsp + 0x2b4], 0
mov eax, dword [rsp + 0x2b4]
cmp dword [rsp + 0x2b8], eax
jge 0x180046684
movabs rax, 0x5eb5ed6c26d3e
mov rcx, qword [0x180146498]
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x45], al
movsx rax, byte [rsp + 0x42]
mov ecx, 8
imul rcx, rcx, 0x1a
lea rdx, [0x1806a8dd0]
mov qword [rdx + rcx], rax
jmp 0x1800466ab
movsx eax, byte [rsp + 0x42]
not eax
cdqe
mov rcx, qword [0x1801464b0]
cmp rax, rcx
jbe 0x1800466ab
mov eax, dword [0x1801464d8]
sub eax, 0x5478
mov word [0x1801464fc], ax
jmp 0x180046742
cmp dword [0x1801464dc], 0
je 0x1800466c6
mov dword [rsp + 0x2c0], 1
jmp 0x1800466d1
mov dword [rsp + 0x2c0], 0
mov eax, dword [rsp + 0x60]
cmp eax, 0xa5948ef6
jne 0x1800466e9
mov dword [rsp + 0x2bc], 1
jmp 0x1800466f4
mov dword [rsp + 0x2bc], 0
mov eax, dword [rsp + 0x2bc]
cmp dword [rsp + 0x2c0], eax
jle 0x180046742
mov eax, dword [0x180146464]
mov rcx, qword [rsp + 0x88]
xor rcx, rax
mov rax, rcx
movsx ecx, word [rsp + 0x48]
mov edx, dword [rsp + 0x58]
add edx, ecx
mov ecx, edx
movsxd rcx, ecx
sub rax, rcx
mov dword [rsp + 0x5c], eax
movsx eax, byte [rsp + 0x42]
movzx ecx, word [rsp + 0x4c]
movsx ecx, cx
add eax, ecx
mov byte [rsp + 0x42], al
mov eax, dword [0x18064fd50]
mov dword [rsp + 0x114], eax
movsx eax, byte [rsp + 0x44]
movzx ecx, byte [0x18014636f]
add eax, ecx
movsx ecx, byte [rsp + 0x44]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x60]
mov eax, eax
movabs rcx, 0xd601865c5aaf8
sub rax, rcx
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x45c]
mov ecx, dword [rsp + 0x114]
add eax, ecx
mov dword [rsp + 0x6a8], eax
movzx eax, byte [rsp + 0x43]
movsx eax, al
imul eax, eax, 0
cdqe
mov rcx, qword [rsp + 0x88]
add rax, rcx
mov qword [0x180146498], rax
mov eax, dword [rsp + 0x460]
mov ecx, dword [rsp + 0x114]
add eax, ecx
mov dword [rsp + 0x3a4], eax
mov eax, dword [0x180146490]
cdqe
mov rcx, qword [0x1801464e8]
cmp rax, rcx
ja 0x1800467f0
mov dword [rsp + 0x2c8], 1
jmp 0x1800467fb
mov dword [rsp + 0x2c8], 0
cmp dword [rsp + 0x5c], 0
jne 0x180046810
mov qword [rsp + 0x608], 1
jmp 0x18004681c
mov qword [rsp + 0x608], 0
movabs rax, 0x8a50e8e734ab9
cmp qword [rsp + 0x608], rax
jl 0x18004683d
mov dword [rsp + 0x2c4], 1
jmp 0x180046848
mov dword [rsp + 0x2c4], 0
mov eax, dword [rsp + 0x2c4]
mov ecx, dword [rsp + 0x2c8]
xor ecx, eax
mov eax, ecx
test eax, eax
je 0x18004692f
mov qword [rsp + 0x30], 0x7d
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 0xfc
mov r8d, 0xb1
mov edx, 0x92
mov rcx, qword [0x180146488]
call fcn.1800416b0
mov word [0x1801464d0], ax
movzx eax, word [0x1801464d0]
cwde
test eax, eax
jl 0x18004692f
movzx eax, word [rsp + 0x4c]
movsx rax, ax
mov ecx, dword [0x180146464]
mov qword [rsp + 0x30], 0x43
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0xca
mov r8, rax
mov edx, 7
call fcn.1800416b0
mov byte [rsp + 0x44], al
movsx eax, byte [rsp + 0x44]
test eax, eax
je 0x18004692f
mov dword [0x180146490], 0x8ecf
movzx eax, byte [rsp + 0x46]
movzx eax, al
mov rcx, qword [0x180146488]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x180146488]
or rcx, rax
mov rax, rcx
mov qword [0x180146488], rax
mov eax, dword [rsp + 0x464]
mov ecx, dword [rsp + 0x114]
add eax, ecx
mov dword [rsp + 0x6a4], eax
mov rax, qword [rsp + 0x178]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0xc4], eax
mov eax, dword [0x1801464c4]
sub eax, 0x3a
mov eax, eax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x78]
shl rax, 3
mov byte [0x1801463d6], al
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0x468], eax
mov eax, dword [rsp + 0xc4]
dec eax
mov dword [rsp + 0xc4], eax
cmp dword [rsp + 0x468], 0
je 0x18004a0bf
mov eax, dword [0x1801464f8]
sub rax, qword [rsp + 0x78]
mov dword [0x1801464f8], eax
mov eax, dword [0x18064fd50]
mov dword [rsp + 0x118], eax
mov eax, 0xffffe265
mov word [0x1801464d0], ax
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x88]
sub rax, rcx
movzx ecx, byte [rsp + 0x41]
mov edx, dword [rsp + 0x60]
add edx, ecx
mov ecx, edx
mov ecx, ecx
add rax, rcx
mov rcx, qword [rsp + 0x78]
not rcx
mov edx, dword [0x1801464d4]
mov edi, dword [0x1801464f8]
xor edi, edx
mov edx, edi
mov edx, edx
add rcx, rdx
sub rax, rcx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x118]
add eax, 0x68
mov dword [rsp + 0x6a0], eax
mov eax, dword [rsp + 0x64]
movzx ecx, byte [rsp + 0x41]
cmp eax, ecx
jl 0x180046a41
mov dword [rsp + 0x2d0], 1
jmp 0x180046a4c
mov dword [rsp + 0x2d0], 0
mov eax, dword [rsp + 0x64]
cmp eax, 0x63
jl 0x180046a62
mov dword [rsp + 0x2cc], 1
jmp 0x180046a6d
mov dword [rsp + 0x2cc], 0
mov eax, dword [rsp + 0x2cc]
cmp dword [rsp + 0x2d0], eax
je 0x180046aae
mov byte [0x180146397], 0
movzx eax, byte [0x1801463d7]
xor eax, 0x36
movzx ecx, byte [rsp + 0x46]
movzx ecx, cl
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x46], al
movzx eax, byte [0x180146397]
mov dword [rsp + 0x69c], eax
jmp 0x180046ae1
movzx eax, byte [0x180146397]
sub eax, dword [0x18014647c]
movzx ecx, byte [0x1801463d6]
movsx ecx, cl
movzx edx, word [0x1801464e0]
movsx edx, dx
imul ecx, edx
imul eax, ecx
not eax
cdqe
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x118]
add eax, 0xa289
mov dword [rsp + 0x470], eax
mov eax, dword [rsp + 0x118]
add eax, 0x9c
mov dword [rsp + 0x46c], eax
movsx eax, word [rsp + 0x48]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x24
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x58]
mov r8d, dword [0x18014641c]
mov edx, eax
xor ecx, ecx
call fcn.1800419e0
mov byte [0x1801463f6], al
movzx eax, byte [0x1801463f6]
test eax, eax
jl 0x180046b57
mov dword [rsp + 0x2d8], 1
jmp 0x180046b62
mov dword [rsp + 0x2d8], 0
movzx eax, byte [0x1801463f6]
cmp eax, 0x1f
jl 0x180046b7b
mov dword [rsp + 0x2d4], 1
jmp 0x180046b86
mov dword [rsp + 0x2d4], 0
mov eax, dword [rsp + 0x2d4]
cmp dword [rsp + 0x2d8], eax
jl 0x180046b98
jmp 0x180046bc4
movzx eax, byte [rsp + 0x40]
movzx eax, al
movsx ecx, word [rsp + 0x48]
imul eax, ecx
mov byte [rsp + 0x40], al
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x70]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
movsxd rax, dword [rsp + 0x5c]
mov rcx, qword [rsp + 0x90]
cmp rax, rcx
jg 0x180046be3
mov dword [rsp + 0x2e0], 1
jmp 0x180046bee
mov dword [rsp + 0x2e0], 0
cmp dword [rsp + 0x5c], 0x2d
jg 0x180046c02
mov dword [rsp + 0x2dc], 1
jmp 0x180046c0d
mov dword [rsp + 0x2dc], 0
mov eax, dword [rsp + 0x2dc]
cmp dword [rsp + 0x2e0], eax
jle 0x180046d1c
movzx eax, byte [0x18014636f]
cmp rax, qword [0x1801464c8]
jne 0x180046c3e
mov dword [rsp + 0x2e4], 1
jmp 0x180046c49
mov dword [rsp + 0x2e4], 0
mov eax, dword [rsp + 0x5c]
not eax
mov ecx, dword [rsp + 0x5c]
imul ecx, eax
mov eax, ecx
not eax
cmp dword [rsp + 0x2e4], eax
jne 0x180046c68
jmp 0x180046d17
movzx eax, byte [0x180146396]
movsx rax, al
mov rcx, qword [0x180146468]
sub rcx, rax
mov rax, rcx
test rax, rax
je 0x180046ca4
movzx eax, byte [rsp + 0x45]
movsx eax, al
add eax, 0xd4c7
mov byte [0x180146396], al
mov eax, 0x1780
mov word [rsp + 0x4c], ax
jmp 0x180046d17
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x180046cca
movzx eax, word [0x180146404]
cwde
test eax, eax
je 0x180046cca
mov dword [rsp + 0x2ec], 1
jmp 0x180046cd5
mov dword [rsp + 0x2ec], 0
movsx eax, word [rsp + 0x54]
cmp eax, dword [rsp + 0x58]
jl 0x180046ced
mov dword [rsp + 0x2e8], 1
jmp 0x180046cf8
mov dword [rsp + 0x2e8], 0
mov eax, dword [rsp + 0x2e8]
cmp dword [rsp + 0x2ec], eax
jne 0x180046d17
mov rax, qword [rsp + 0x78]
sub rax, 0xec
mov dword [rsp + 0x58], eax
jmp 0x180046dc7
movzx eax, byte [0x1801463be]
movsx eax, al
test eax, eax
jne 0x180046d36
movzx eax, word [0x1801464e0]
cwde
test eax, eax
je 0x180046d4e
movzx eax, byte [rsp + 0x41]
movabs rcx, 0x2b88bc85697e7
add rax, rcx
mov dword [rsp + 0x60], eax
jmp 0x180046dc7
movzx eax, byte [rsp + 0x43]
movsx eax, al
mov ecx, dword [0x18014641c]
cmp eax, ecx
jae 0x180046d6d
mov dword [rsp + 0x2f4], 1
jmp 0x180046d78
mov dword [rsp + 0x2f4], 0
movzx eax, byte [0x18014636f]
test eax, eax
jne 0x180046d90
mov dword [rsp + 0x2f0], 1
jmp 0x180046d9b
mov dword [rsp + 0x2f0], 0
mov eax, dword [rsp + 0x2f0]
cmp dword [rsp + 0x2f4], eax
je 0x180046dc7
mov rax, qword [rsp + 0x80]
movabs rcx, 0x2f2ad711a1c77
sub rax, rcx
mov qword [0x180146480], rax
mov eax, dword [rsp + 0x46c]
mov ecx, dword [rsp + 0x470]
or eax, ecx
xor eax, 0xa187
mov dword [rsp + 0x498], eax
movzx eax, word [0x1801463d4]
cwde
mov ecx, dword [rsp + 0x58]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x58]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
mov eax, dword [0x18064fd50]
mov dword [rsp + 0x11c], eax
movzx eax, byte [rsp + 0x43]
movsx rax, al
movabs rcx, 0x10706dc5e455e
sub rax, rcx
mov byte [0x1801463bf], al
mov eax, dword [rsp + 0x11c]
add eax, 0x18
mov dword [rsp + 0x478], eax
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x180046e59
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x610], rax
jmp 0x180046e66
movsxd rax, dword [rsp + 0x58]
mov qword [rsp + 0x610], rax
movzx eax, word [rsp + 0x610]
mov word [0x180146478], ax
movzx eax, word [0x1801464d0]
movsx rax, ax
mov rcx, qword [0x1801464e8]
add rcx, rax
mov rax, rcx
mov qword [0x1801464e8], rax
mov eax, dword [rsp + 0x11c]
add eax, 0x16
mov dword [rsp + 0x694], eax
xor r9d, r9d
mov r8d, 0xbf
mov edx, 0x45
xor ecx, ecx
call fcn.180041130
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x60]
movzx ecx, byte [0x1801463d6]
movsx ecx, cl
cmp eax, ecx
jne 0x180046ee2
mov qword [rsp + 0x618], 1
jmp 0x180046eee
mov qword [rsp + 0x618], 0
mov rax, qword [rsp + 0x80]
cmp qword [rsp + 0x618], rax
je 0x180046f0d
mov dword [rsp + 0x2f8], 1
jmp 0x180046f18
mov dword [rsp + 0x2f8], 0
mov eax, dword [rsp + 0x2f8]
not eax
test eax, eax
je 0x180046f70
movzx eax, word [rsp + 0x4c]
cwde
test eax, eax
je 0x180046f6e
mov rax, qword [0x1801464a0]
test rax, rax
je 0x180046f4c
mov rax, qword [0x1801464a0]
mov qword [rsp + 0x620], rax
jmp 0x180046f5f
movzx eax, byte [0x1801463d6]
movsx rax, al
mov qword [rsp + 0x620], rax
mov rax, qword [rsp + 0x620]
mov qword [0x1801464e8], rax
jmp 0x180046fb7
movzx eax, word [rsp + 0x50]
movzx eax, ax
test eax, eax
je 0x180046fb7
movzx eax, byte [0x1801463d6]
movsx eax, al
mov ecx, dword [0x1801464c4]
not ecx
sub eax, ecx
imul ecx, dword [0x1801464c0], 0xac
sub eax, ecx
mov word [0x1801464d0], ax
mov eax, dword [0x1801464dc]
sub eax, 0xb92d
mov eax, eax
mov qword [0x180146470], rax
mov eax, dword [rsp + 0x11c]
add eax, 0x17
mov dword [rsp + 0x474], eax
mov rax, qword [str._buAG]
mov dword [0x18014641c], eax
mov eax, 3
mov word [rsp + 0x48], ax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x98], rax
movzx eax, byte [rsp + 0x45]
movsx rax, al
add rax, qword [rsp + 0x70]
mov byte [rsp + 0x45], al
movsx eax, word [rsp + 0x48]
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0xc8], 0
je 0x18004703e
cmp dword [rsp + 0xc8], 1
je 0x180047057
cmp dword [rsp + 0xc8], 2
je 0x1800470aa
cmp dword [rsp + 0xc8], 3
je 0x1800470bb
jmp 0x180047102
movzx eax, word [rsp + 0x50]
movzx eax, ax
imul eax, eax, 0xc388
mov dword [0x1801464f8], eax
jmp 0x180047102
movzx eax, word [0x180146404]
cwde
movzx ecx, word [0x1801464fc]
add eax, ecx
movzx ecx, word [0x180146404]
movsx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x180146404], ax
mov eax, 2
imul rax, rax, 0x4a
lea rcx, [0x1807091b0]
movsx rax, word [rcx + rax]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x180047102
mov byte [rsp + 0x41], 0xb4
mov dword [0x1801464d8], 0xc72b
jmp 0x180047102
mov eax, dword [0x180146464]
xor rax, qword [rsp + 0x78]
test rax, rax
jne 0x1800470d8
mov dword [rsp + 0x2fc], 1
jmp 0x1800470e3
mov dword [rsp + 0x2fc], 0
movsx eax, word [rsp + 0x48]
mov ecx, 0x6c
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x2fc]
add ecx, eax
mov eax, ecx
mov byte [0x1801463d7], al
mov eax, dword [rsp + 0x474]
or eax, 0x9115
mov ecx, dword [rsp + 0x478]
imul ecx, ecx, 0xff
imul eax, ecx
add eax, 0xf2737368
mov ecx, dword [rsp + 0x47c]
xor ecx, 0x337
mov edx, dword [rsp + 0x300]
mov edi, dword [rsp + 0x300]
sub edx, edi
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x49c], eax
mov eax, dword [0x18064fd50]
mov dword [rsp + 0x120], eax
movzx eax, byte [0x1801463d7]
shl eax, 5
cdqe
mov qword [rsp + 0x90], rax
movzx eax, byte [rsp + 0x43]
movsx eax, al
test eax, eax
jne 0x180047186
mov dword [rsp + 0x304], 1
jmp 0x180047191
mov dword [rsp + 0x304], 0
movzx eax, byte [0x180146397]
test eax, eax
jne 0x1800471a9
mov dword [rsp + 0x308], 1
jmp 0x1800471b4
mov dword [rsp + 0x308], 0
mov eax, 0xed
sub eax, dword [rsp + 0x304]
not eax
cdqe
mov ecx, dword [0x18014641c]
mov ecx, ecx
mov rdx, qword [rsp + 0x88]
add rdx, rcx
mov rcx, rdx
xor rax, rcx
movzx ecx, byte [rsp + 0x40]
movzx ecx, cl
movzx edx, byte [0x1801463f6]
imul ecx, edx
movzx edx, byte [rsp + 0x43]
movsx edx, dl
not edx
mov edi, dword [rsp + 0x308]
xor edi, edx
mov edx, edi
add ecx, edx
movsxd rcx, ecx
add rax, rcx
mov byte [rsp + 0x45], al
mov eax, dword [rsp + 0x120]
add eax, 0x4126
mov dword [rsp + 0x320], eax
cmp qword [rsp + 0x70], 0
je 0x18004729f
mov rax, qword [0x1801464a0]
test rax, rax
jne 0x180047244
mov eax, dword [rsp + 0x120]
add eax, 0xd9a3
mov dword [rsp + 0x31c], eax
mov eax, dword [rsp + 0x60]
mov eax, eax
cmp qword [0x1801464f0], rax
jg 0x1800472e1
mov eax, dword [rsp + 0x60]
mov eax, eax
mov qword [0x1801464a8], rax
cmp dword [0x1801464d4], 0
je 0x18004a0e2
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x410], eax
jmp 0x18004a0f0
movzx eax, byte [0x1801463d7]
mov dword [rsp + 0x410], eax
movzx eax, byte [rsp + 0x410]
mov byte [0x1801463d3], al
mov rax, qword [rsp + 0x518]
add rsp, 0x798
pop rdi
pop rsi
ret