Function at 0x1800489d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x288
movzx eax, byte [0x1800c6720]
mov byte [rsp + 0xa4], al
movzx eax, word [0x1800c6700]
movzx eax, ax
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x38], 0x9a0c
movzx eax, word [0x1800c6710]
mov word [rsp + 0x5c], ax
movabs rax, 0x83865e58e9f6c
mov qword [rsp + 0x80], rax
mov eax, 0xbd3c2b3c
mov qword [rsp + 0x140], rax
mov dword [rsp + 0x44], 0xba82
movzx eax, byte [0x1800c66e8]
mov byte [rsp + 0x2d], al
mov eax, 0x6d55
mov word [rsp + 0x34], ax
mov eax, dword [0x1800c6720]
mov dword [rsp + 0x30], eax
mov eax, 0x1ad7
mov word [rsp + 0x28], ax
mov eax, 0x21
mov word [rsp + 0x24], ax
mov qword [rsp + 0xc8], 0x98
mov eax, dword [0x1800c66fc]
mov dword [rsp + 0x40], eax
mov eax, dword [0x1800c6730]
mov dword [rsp + 0x70], eax
movzx eax, byte [0x1800c6738]
mov byte [rsp + 0x23], al
mov qword [rsp + 0x60], 0xe2fd
mov byte [rsp + 0x22], 0xd2
mov qword [rsp + 0x68], 0xed36
mov byte [rsp + 0x20], 0x45
mov qword [rsp + 0x48], 0xdef6
movzx eax, word [0x1800c66c0]
mov byte [rsp + 0x21], al
mov dword [rsp + 0x3c], 0xe6
mov qword [rsp + 0x258], 0x920d
mov rax, qword [0x1800c66c8]
mov word [rsp + 0x19c], ax
mov byte [rsp + 0x90], 0x75
movabs rax, 0x9c70eddd921c
mov qword [rsp + 0x260], rax
mov eax, 0xfffff54b
mov word [rsp + 0x1a8], ax
movabs rax, 0x1b11f32fc31c2
mov qword [rsp + 0x268], rax
mov dword [rsp + 0x210], 0x87
movabs rax, 0x14de4e08dc903
mov qword [rsp + 0x270], rax
movzx eax, byte [0x1800c6663]
mov byte [rsp + 0x99], al
movzx eax, word [0x1800c6700]
movzx eax, ax
mov dword [rsp + 0x23c], eax
mov eax, 0xfd20
mov word [rsp + 0x1ac], ax
mov eax, dword [0x1800c6734]
mov qword [rsp + 0x278], rax
movzx eax, word [0x1800c6700]
mov byte [rsp + 0x98], al
mov dword [rsp + 0x238], 0x1c26b6fe
movzx eax, word [0x1800c66d0]
mov word [rsp + 0x1b0], ax
mov dword [rsp + 0x234], 0xdfb8607a
mov eax, dword [0x180627458]
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0x9c]
add eax, 0x442
mov dword [rsp + 0xec], eax
mov eax, dword [rsp + 0x9c]
add eax, 0x7df
mov dword [rsp + 0x198], eax
mov dword [rsp + 0x44], 0x4e36671d
mov eax, dword [rsp + 0x9c]
add eax, 0x625
mov dword [rsp + 0xe8], eax
movzx eax, word [rsp + 0x34]
not eax
cdqe
movzx ecx, word [0x1800c66d8]
not ecx
movsxd rcx, ecx
mov rdx, qword [0x1800c66f0]
sub rcx, rdx
add rax, rcx
movzx ecx, word [0x1800c66f8]
imul rax, rcx
mov dword [0x1800c66fc], eax
movzx eax, byte [0x1800c6666]
movzx eax, al
add eax, 0x94dd
mov byte [0x1800c6676], al
mov dword [rsp + 0x7c], 0
movzx eax, word [rsp + 0x24]
cwde
add eax, 0x1ca40211
movzx ecx, word [0x1800c6708]
movsx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [0x1800c6708], ax
mov dword [rsp + 0x78], 0
mov rax, qword [0x1800c6718]
cmp qword [rsp + 0x80], rax
jb 0x180048c98
jmp 0x180048df7
movzx eax, word [0x1800c66c4]
movzx eax, ax
movzx ecx, word [0x1800c66dc]
cmp eax, ecx
jg 0x180048cbc
movzx eax, byte [rsp + 0x21]
mov rcx, qword [rsp + 0x48]
cmp rax, rcx
je 0x180048cd9
mov eax, dword [rsp + 0x30]
mov eax, eax
mov rcx, qword [rsp + 0x60]
imul rcx, rax
mov rax, rcx
mov dword [0x1800c66e4], eax
jmp 0x180048df7
mov rax, qword [0x1800c6718]
test rax, rax
jne 0x180048d01
movzx eax, word [0x1800c6664]
movzx eax, ax
test eax, eax
je 0x180048d01
mov qword [rsp + 0x1c8], 0
jmp 0x180048d0d
mov qword [rsp + 0x1c8], 1
mov rax, qword [rsp + 0x140]
cmp qword [rsp + 0x1c8], rax
jle 0x180048d4e
movzx eax, byte [rsp + 0x20]
movsx rax, al
sub rax, qword [rsp + 0x140]
mov byte [rsp + 0x20], al
movsxd rax, dword [0x1800c670c]
mov rcx, qword [rsp + 0x48]
sub rax, rcx
mov dword [0x1800c670c], eax
jmp 0x180048df7
movzx eax, byte [rsp + 0x21]
test eax, eax
jne 0x180048df7
mov rax, qword [0x1800c6740]
not rax
movzx ecx, word [rsp + 0x28]
movzx ecx, cx
sub rax, rcx
test rax, rax
jne 0x180048d83
mov qword [rsp + 0x1d0], 1
jmp 0x180048d8f
mov qword [rsp + 0x1d0], 0
movzx eax, word [0x1800c66c0]
movzx eax, ax
add rax, qword [0x1800c6738]
mov rcx, qword [rsp + 0x1d0]
add rcx, rax
mov rax, rcx
mov qword [0x1800c66c8], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x140]
add rcx, rax
mov rax, rcx
test rax, rax
jne 0x180048ddb
mov qword [rsp + 0x1d8], 1
jmp 0x180048de7
mov qword [rsp + 0x1d8], 0
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x2b8]
mov dword [rax], 0
movzx eax, byte [0x1800c664f]
movsx eax, al
movzx ecx, byte [0x1800c6666]
movzx ecx, cl
cmp eax, ecx
jge 0x180048e2b
mov eax, 8
mov word [0x1800c6728], ax
jmp 0x180048e62
movsx eax, word [0x1800c66d0]
not eax
test eax, eax
je 0x180048e62
mov dword [rsp + 0x30], 0x1c0c1cfd
movzx eax, byte [str.Y_oauth2_token]
movsx eax, al
sub eax, dword [rsp + 0x40]
movzx ecx, byte [str.Y_oauth2_token]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [str.Y_oauth2_token], al
mov dword [rsp + 0x50], 0
jmp 0x180048e76
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x2b0]
cmp dword [rsp + 0x50], eax
jae 0x18004a11f
mov eax, dword [0x180627458]
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0xa0]
add eax, 0x4b8
mov dword [rsp + 0x138], eax
mov eax, dword [rsp + 0xa0]
add eax, 0x5e3
mov dword [rsp + 0x218], eax
mov eax, dword [rsp + 0xa0]
add eax, 0x501
mov dword [rsp + 0x22c], eax
mov eax, dword [rsp + 0x138]
and eax, 0x12
mov ecx, dword [rsp + 0x138]
cmp eax, ecx
je 0x18004a11a
mov byte [0x1800c6626], 0x6f
movzx eax, byte [rsp + 0x21]
sub eax, 0xe7
cdqe
mov qword [rsp + 0x68], rax
mov eax, dword [0x180627458]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x94]
add eax, 0xedcc
mov dword [rsp + 0x1a4], eax
lea rax, [rsp + 0x248]
lea rcx, str.windows_1255
mov rdi, rax
mov rsi, rcx
mov ecx, 0xd
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x248]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
cdqe
mov qword [0x1800c66c8], rax
mov eax, dword [rsp + 0x94]
add eax, 0x69a0
mov dword [rsp + 0x228], eax
mov eax, dword [rsp + 0x94]
add eax, 0x42fc
mov dword [rsp + 0x1a0], eax
mov eax, dword [0x1800c674c]
test eax, eax
jne 0x180048f8f
mov qword [rsp + 0x1e0], 1
jmp 0x180048f9b
mov qword [rsp + 0x1e0], 0
mov rax, qword [rsp + 0x60]
cmp qword [rsp + 0x1e0], rax
jg 0x180048fb7
mov dword [rsp + 0x13c], 1
jmp 0x180048fc2
mov dword [rsp + 0x13c], 0
movzx eax, byte [str.Y_oauth2_token]
movsx eax, al
not eax
cmp dword [rsp + 0x13c], eax
jle 0x180048fe4
mov dword [rsp + 0xd0], 1
jmp 0x180048fef
mov dword [rsp + 0xd0], 0
mov eax, dword [rsp + 0xd0]
not eax
mov eax, dword [rsp + 0x1a4]
mov ecx, dword [rsp + 0x1a0]
mov edx, 0xfffecf38
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x150], eax
mov eax, dword [0x180627458]
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0xa8]
add eax, 0x73c
mov dword [rsp + 0x224], eax
movzx eax, word [rsp + 0x28]
movzx eax, ax
mov ecx, dword [0x1800c674c]
cmp eax, ecx
ja 0x180049058
mov dword [rsp + 0xd8], 1
jmp 0x180049063
mov dword [rsp + 0xd8], 0
movzx eax, word [rsp + 0x28]
movzx eax, ax
cmp eax, 8
jg 0x18004907d
mov dword [rsp + 0xd4], 1
jmp 0x180049088
mov dword [rsp + 0xd4], 0
mov eax, dword [rsp + 0xd4]
cmp dword [rsp + 0xd8], eax
jne 0x18004909d
jmp 0x180049158
mov rax, qword [rsp + 0x88]
movsx rcx, byte [0x1800c6626]
cmp rax, rcx
jne 0x1800490bf
mov dword [rsp + 0xe0], 1
jmp 0x1800490ca
mov dword [rsp + 0xe0], 0
mov rax, qword [rsp + 0x80]
not rax
cmp rax, 0x49
je 0x1800490e8
mov dword [rsp + 0xdc], 1
jmp 0x1800490f3
mov dword [rsp + 0xdc], 0
mov eax, dword [rsp + 0xdc]
not eax
cmp dword [rsp + 0xe0], eax
jle 0x180049112
mov dword [rsp + 0xe4], 1
jmp 0x18004911d
mov dword [rsp + 0xe4], 0
mov eax, dword [rsp + 0xe4]
not eax
test eax, eax
je 0x180049158
mov eax, dword [rsp + 0x30]
add eax, 0xce
mov eax, eax
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
movsx eax, byte [0x1800c6625]
add eax, 0xbf37
mov word [0x1800c6728], ax
mov eax, dword [rsp + 0xa8]
add eax, 0x431
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0xa8]
add eax, 0x637
mov dword [rsp + 0x15c], eax
mov eax, dword [rsp + 0x50]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x2a8]
mov eax, dword [rcx + rax + 8]
mov rcx, qword [rsp + 0x2a0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x240], rax
mov r8, qword [rsp + 0x2b8]
mov rdx, qword [rsp + 0x240]
mov rcx, qword [rsp + 0x2a0]
call fcn.18003fe20
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0xe8]
mov ecx, dword [rsp + 0xe8]
and eax, ecx
mov ecx, dword [rsp + 0xec]
imul ecx, ecx, 0x299
mov edx, dword [rsp + 0xec]
mov edi, dword [rsp + 0x198]
sub edx, edi
imul ecx, edx
cmp eax, ecx
je 0x18004a11a
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x18004923a
movzx eax, word [rsp + 0x24]
movsx rax, ax
sub rax, qword [0x1800c66b0]
mov word [rsp + 0x24], ax
movzx eax, byte [0x1800c66ae]
movsx eax, al
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x3c], eax
jmp 0x1800492df
movzx eax, word [rsp + 0x24]
cwde
test eax, eax
je 0x180049290
mov eax, dword [0x1800c674c]
test eax, eax
je 0x180049260
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x1e8], rax
jmp 0x180049272
movzx eax, byte [0x1800c6624]
movzx eax, al
mov qword [rsp + 0x1e8], rax
mov eax, dword [rsp + 0x1e8]
mov dword [0x1800c66fc], eax
mov eax, dword [0x1800c663c]
add eax, 0xfe
mov dword [rsp + 0x38], eax
jmp 0x1800492df
cmp dword [rsp + 0x70], 0
je 0x1800492c0
movzx eax, byte [str._a._AU__ImplementsHe]
mov rcx, qword [0x1800c66e8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c66e8], rax
mov qword [rsp + 0x140], 2
jmp 0x1800492df
movsx eax, word [0x1800c66d0]
movsx ecx, word [0x1800c66d0]
or eax, ecx
not eax
test eax, eax
je 0x1800492df
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x38], eax
mov eax, dword [0x180627458]
mov dword [rsp + 0xac], eax
cmp dword [rsp + 0x40], 0
je 0x1800493a5
movzx eax, word [rsp + 0x34]
add eax, 5
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0x23]
movzx eax, al
movzx ecx, word [rsp + 0x24]
movsx ecx, cx
imul eax, ecx
test eax, eax
jne 0x180049328
mov qword [rsp + 0x1f0], 1
jmp 0x180049334
mov qword [rsp + 0x1f0], 0
movzx eax, byte [0x1800c6662]
movzx eax, al
mov rcx, qword [rsp + 0x140]
imul rcx, rax
mov rax, rcx
test rax, rax
jne 0x180049360
mov qword [rsp + 0x1f8], 1
jmp 0x18004936c
mov qword [rsp + 0x1f8], 0
mov rax, qword [0x1800c66b0]
not rax
add rax, qword [rsp + 0x1f0]
not rax
mov rcx, qword [0x1800c66c8]
mov rdx, qword [rsp + 0x88]
add rcx, rdx
sub rcx, qword [rsp + 0x1f8]
add rax, rcx
mov word [rsp + 0x24], ax
jmp 0x1800493bf
mov rax, qword [0x1800c66f0]
not rax
test rax, rax
je 0x1800493bf
mov qword [0x1800c6710], 4
mov eax, dword [rsp + 0xac]
add eax, 0xd3cd
mov dword [rsp + 0x14c], eax
mov rax, qword [0x1800c6740]
mov rcx, qword [rsp + 0xc8]
imul rax, rcx
mov qword [0x1800c6740], rax
mov eax, dword [rsp + 0xac]
add eax, 0x500
mov dword [rsp + 0x148], eax
mov eax, dword [rsp + 0xac]
add eax, 0x458
mov dword [rsp + 0x230], eax
movzx eax, byte [0x1800c664f]
movsx rax, al
mov rcx, qword [rsp + 0x88]
xor rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x23]
movzx ecx, cl
not ecx
mov edx, dword [rsp + 0x40]
add edx, ecx
mov ecx, edx
mov ecx, ecx
add rax, rcx
mov qword [rsp + 0x80], rax
movzx eax, word [0x1800c66d8]
test eax, eax
je 0x180049464
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x200], rax
jmp 0x180049473
movzx eax, word [0x1800c66f8]
mov qword [rsp + 0x200], rax
movzx eax, byte [rsp + 0x200]
mov byte [0x1800c6626], al
mov eax, dword [rsp + 0x148]
mov ecx, dword [rsp + 0x14c]
add eax, ecx
mov ecx, 0xd8f5
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x158], eax
mov eax, dword [rsp + 0x150]
cmp eax, dword [rsp + 0x7c]
je 0x18004a11a
movsx rax, word [0x1800c6728]
mov rcx, qword [rsp + 0x88]
cmp rax, rcx
jae 0x180049506
mov eax, dword [0x1800c66fc]
shr eax, 4
mov eax, eax
mov qword [rsp + 0x80], rax
mov eax, dword [0x1800c66d4]
mov rcx, qword [rsp + 0xc8]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xc8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xc8], rax
jmp 0x18004955d
cmp qword [0x1800c66b8], 0
je 0x18004951a
mov eax, dword [0x1800c663c]
test eax, eax
jne 0x18004955d
mov eax, dword [0x180627458]
mov dword [0x1800c674c], eax
movsx eax, word [0x1800c66d0]
test eax, eax
je 0x180049540
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x208], rax
jmp 0x18004954e
mov eax, dword [rsp + 0x3c]
cdqe
mov qword [rsp + 0x208], rax
mov rax, qword [rsp + 0x208]
mov qword [0x1800c6740], rax
mov eax, dword [0x180627458]
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0xb0]
add eax, 0x45c
mov dword [rsp + 0x174], eax
movsx eax, word [0x1800c6728]
sub eax, 0x1a0f84ca
mov byte [rsp + 0x20], al
movzx eax, word [rsp + 0x34]
test eax, eax
jne 0x1800495a3
mov dword [rsp + 0xf0], 1
jmp 0x1800495ae
mov dword [rsp + 0xf0], 0
mov eax, dword [rsp + 0xf0]
mov dword [0x1800c663c], eax
mov eax, dword [rsp + 0xb0]
add eax, 0x665
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0xb0]
add eax, 0x557
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x154]
imul eax, eax, 0x132
mov ecx, dword [rsp + 0x158]
add eax, ecx
mov ecx, dword [rsp + 0x15c]
cmp eax, ecx
je 0x18004a0fc
movzx eax, word [rsp + 0x5c]
movzx eax, ax
movsx ecx, byte [0x1800c6626]
not ecx
add eax, ecx
mov word [0x1800c6664], ax
mov eax, 4
imul rax, rax, 0x72
lea rcx, [0x18080d790]
mov edx, dword [rsp + 0x3c]
add edx, dword [rcx + rax]
mov eax, edx
mov dword [rsp + 0x3c], eax
mov eax, dword [0x180627458]
mov dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0xb4]
add eax, 0x5ce
mov dword [rsp + 0x214], eax
movzx eax, word [0x1800c66f8]
add rax, qword [0x1800c6720]
movzx ecx, word [0x1800c66f8]
or rcx, rax
mov rax, rcx
mov word [0x1800c66f8], ax
mov dword [rsp + 0x40], 0x6f06b47e
mov eax, dword [rsp + 0xb4]
add eax, 0x7511
mov dword [rsp + 0xf8], eax
mov dword [rsp + 0x30], 0x7c
mov eax, dword [rsp + 0xb4]
add eax, 0x2124
mov dword [rsp + 0xf4], eax
cmp dword [rsp + 0x70], 0
jne 0x1800496c5
jmp 0x1800496d6
mov rax, qword [rsp + 0x48]
mov ecx, 0x818d1d4b
sub rax, rcx
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0xf4]
mov ecx, dword [rsp + 0xf8]
imul eax, ecx
mov ecx, dword [rsp + 0xf4]
mov edx, dword [rsp + 0xf8]
xor ecx, edx
xor eax, ecx
add eax, 0xf0d81431
mov dword [rsp + 0x180], eax
movsxd rax, dword [rsp + 0x44]
movabs rcx, 0x963930e6bcd4e
sub rax, rcx
movzx ecx, word [0x1800c6708]
movsx rcx, cx
sub rcx, rax
mov rax, rcx
mov word [0x1800c6708], ax
mov eax, dword [rsp + 0x30]
mov eax, eax
movabs rcx, 0xe32e43e5e77ee
sub rax, rcx
mov byte [0x1800c6624], al
mov eax, dword [0x180627458]
mov dword [rsp + 0xb8], eax
mov eax, dword [rsp + 0x38]
add eax, 0xba
cdqe
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0xb8]
add eax, 0xdfae
mov dword [rsp + 0x160], eax
movsx rax, word [0x1800c6704]
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
jbe 0x180049797
mov dword [rsp + 0x100], 1
jmp 0x1800497a2
mov dword [rsp + 0x100], 0
movsx eax, word [0x1800c6704]
cmp eax, 0x48
jle 0x1800497bb
mov dword [rsp + 0xfc], 1
jmp 0x1800497c6
mov dword [rsp + 0xfc], 0
mov eax, dword [rsp + 0xfc]
cmp dword [rsp + 0x100], eax
jne 0x18004989d
mov qword [rsp + 0x80], 2
mov eax, 2
imul rax, rax, 0xb0
lea rcx, [0x1807c9480]
movzx eax, word [rcx + rax]
mov rcx, qword [0x1800c66c8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c66c8], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x1b8], rax
cmp qword [rsp + 0x1b8], 0
je 0x180049844
cmp qword [rsp + 0x1b8], 1
je 0x18004985f
cmp qword [rsp + 0x1b8], 2
je 0x180049875
jmp 0x18004989b
mov eax, dword [rsp + 0x3c]
add eax, 0x95fe
movzx ecx, byte [rsp + 0x23]
movzx ecx, cl
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x23], al
jmp 0x18004989b
mov eax, 0xf65600a4
mov rcx, qword [rsp + 0x60]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x40], eax
jmp 0x18004989b
mov eax, dword [rsp + 0x40]
sub eax, 0xcf
mov eax, eax
mov rcx, qword [0x1800c66e8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c66e8], rax
mov byte [str._a._AU__ImplementsHe], 4
jmp 0x1800498f0
movzx eax, byte [rsp + 0x20]
movsx eax, al
test eax, eax
je 0x1800498f0
movzx eax, byte [rsp + 0x22]
mov rcx, qword [rsp + 0x88]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
movzx eax, word [rsp + 0x24]
cwde
mov ecx, dword [rsp + 0x3c]
add eax, ecx
movzx ecx, word [rsp + 0x24]
movsx ecx, cx
add ecx, eax
mov eax, ecx
mov word [rsp + 0x24], ax
mov eax, dword [rsp + 0xb8]
add eax, 0x49b
mov dword [rsp + 0x164], eax
mov eax, dword [rsp + 0xb8]
add eax, 0x5964
mov dword [rsp + 0x168], eax
cmp dword [rsp + 0x40], 0
jne 0x180049929
mov eax, 1
mov word [rsp + 0x58], ax
jmp 0x180049930
xor eax, eax
mov word [rsp + 0x58], ax
movzx eax, word [rsp + 0x58]
mov word [0x1800c664c], ax
mov rax, qword [rsp + 0x48]
mov rcx, qword [0x1800c66c8]
sub rax, rcx
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
mov eax, dword [0x1800c66e8]
mov dword [0x1800c663c], eax
mov eax, dword [rsp + 0x160]
xor eax, 0x325c
mov ecx, dword [rsp + 0x164]
mov edx, dword [rsp + 0x168]
xor ecx, edx
mov edx, 0xfffebb60
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x184], eax
movsxd rax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x48]
and rcx, rax
mov rax, rcx
not rax
movzx ecx, byte [rsp + 0x22]
not ecx
movsxd rcx, ecx
add rcx, qword [0x1800c66e8]
imul rax, rcx
mov rcx, qword [0x1800c6740]
imul rax, rcx
mov byte [rsp + 0x20], al
mov eax, dword [0x180627458]
mov dword [rsp + 0xbc], eax
movzx eax, word [rsp + 0x5c]
movzx eax, ax
sub eax, 0x76
movzx ecx, byte [rsp + 0x22]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x22], al
movzx eax, byte [0x1800c663b]
mov rcx, qword [0x1800c6718]
add rax, rcx
movzx ecx, byte [0x1800c663b]
sub rcx, rax
mov rax, rcx
mov byte [0x1800c663b], al
mov eax, dword [rsp + 0xbc]
add eax, 0x34fb
mov dword [rsp + 0x110], eax
mov byte [rsp + 0x21], 0
movsx rax, byte [0x1800c6625]
movabs rcx, 0xd2bf8bacc309b
sub rax, rcx
mov byte [0x1800c6662], al
movzx eax, byte [0x1800c66af]
movzx eax, al
mov rcx, qword [rsp + 0x60]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
movzx eax, byte [rsp + 0x21]
mov byte [rsp + 0x16c], al
cmp byte [rsp + 0x16c], 0
je 0x180049a87
jmp 0x180049a9e
movzx eax, word [rsp + 0x28]
movzx eax, ax
movzx ecx, word [rsp + 0x24]
movsx ecx, cx
add eax, ecx
mov word [rsp + 0x28], ax
mov eax, dword [rsp + 0xbc]
add eax, 0x12c2
mov dword [rsp + 0x170], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rsp + 0xbc]
add eax, 0x4ec
mov dword [rsp + 0x21c], eax
movzx eax, word [0x1800c66dc]
movzx ecx, byte [0x1800c66af]
movzx ecx, cl
cmp eax, ecx
jge 0x180049aeb
mov dword [rsp + 0x108], 1
jmp 0x180049af6
mov dword [rsp + 0x108], 0
movzx eax, word [0x1800c66dc]
cmp eax, 0x25
jge 0x180049b0f
mov dword [rsp + 0x104], 1
jmp 0x180049b1a
mov dword [rsp + 0x104], 0
mov eax, dword [rsp + 0x104]
cmp dword [rsp + 0x108], eax
je 0x180049c70
mov eax, dword [0x1800c66fc]
cmp qword [0x1800c66b8], rax
jg 0x180049bef
mov eax, dword [rsp + 0x38]
cdqe
mov qword [0x1800c66c8], rax
movzx eax, byte [rsp + 0x2d]
movsx eax, al
movsx ecx, word [0x1800c6748]
not ecx
add eax, ecx
not eax
movzx ecx, byte [0x1800c6677]
movzx edx, word [0x1800c66c0]
movzx edx, dx
xor ecx, edx
imul eax, ecx
test eax, eax
jne 0x180049b8b
mov qword [rsp + 0x1c0], 1
jmp 0x180049b97
mov qword [rsp + 0x1c0], 0
movzx eax, word [rsp + 0x28]
movzx eax, ax
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov ecx, dword [0x1800c670c]
imul ecx, dword [0x1800c670c]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x1c0]
add rdx, rax
mov rax, rdx
add rcx, rax
mov rax, rcx
test rax, rax
jne 0x180049bdd
mov byte [rsp + 0x2c], 1
jmp 0x180049be2
mov byte [rsp + 0x2c], 0
movzx eax, byte [rsp + 0x2c]
mov byte [0x1800c6625], al
jmp 0x180049c6b
cmp dword [rsp + 0x70], 0
je 0x180049c23
mov eax, 4
mov word [0x1800c66c0], ax
movzx eax, byte [0x1800c6677]
mov ecx, dword [rsp + 0x38]
imul eax, ecx
movzx ecx, byte [0x1800c6677]
add ecx, eax
mov eax, ecx
mov byte [0x1800c6677], al
jmp 0x180049c6b
movzx eax, word [rsp + 0x28]
movzx eax, ax
not eax
test eax, eax
jne 0x180049c39
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x180049c6b
movsxd rax, dword [rsp + 0x44]
cmp rax, qword [0x1800c6738]
jne 0x180049c6b
mov rax, qword [0x1800c66b0]
add rax, 0x6522111c
mov qword [0x1800c6720], rax
mov rax, qword [rsp + 0x88]
shr rax, 8
mov byte [rsp + 0x20], al
jmp 0x180049d04
mov rax, qword [rsp + 0x48]
not rax
test rax, rax
je 0x180049cdc
movzx eax, byte [0x1800c663b]
mov rcx, qword [0x1800c6718]
add rax, rcx
movsxd rcx, dword [rsp + 0x44]
add rax, rcx
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x2d]
movsx eax, al
add eax, 0x1d0f748e
test eax, eax
jne 0x180049cb8
mov dword [rsp + 0x10c], 1
jmp 0x180049cc3
mov dword [rsp + 0x10c], 0
mov eax, dword [0x1800c663c]
not eax
mov ecx, dword [rsp + 0x10c]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x21], al
jmp 0x180049d04
movzx eax, word [0x1800c6700]
movzx eax, ax
movsx ecx, word [0x1800c66d0]
cmp eax, ecx
jge 0x180049d04
movzx eax, byte [0x1800c6676]
imul eax, eax, 0x30c89a3
mov dword [0x1800c66e4], eax
mov eax, dword [rsp + 0x110]
imul eax, eax, 0x5060
mov ecx, dword [rsp + 0x170]
mov edx, dword [rsp + 0x110]
add ecx, edx
imul eax, ecx
mov eax, eax
movabs rcx, 0x4a94b7e8897
xor rax, rcx
mov ecx, dword [rsp + 0x174]
mov edx, dword [rsp + 0x54]
add ecx, edx
mov edx, dword [rsp + 0x54]
mov edi, dword [rsp + 0x114]
sub edx, edi
add ecx, edx
mov edx, dword [rsp + 0x114]
mov edi, dword [rsp + 0x54]
imul edx, edi
mov edi, dword [rsp + 0x54]
mov esi, dword [rsp + 0x54]
xor edi, esi
imul edx, edi
imul ecx, edx
mov ecx, ecx
sub rax, rcx
mov dword [rsp + 0x188], eax
mov rax, qword [0x1800c6740]
mov eax, dword [0x180627458]
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0xc0]
add eax, 0x451
mov dword [rsp + 0x178], eax
movzx eax, word [0x1800c66dc]
test eax, eax
je 0x180049db0
jmp 0x180049e8a
mov eax, dword [rsp + 0x44]
cmp dword [0x1800c670c], eax
jg 0x180049ddb
mov eax, dword [0x1800c663c]
mov eax, eax
movabs rcx, 0xd24d47a54c2f9
add rax, rcx
mov qword [rsp + 0x48], rax
jmp 0x180049e8a
mov rax, qword [rsp + 0x60]
not rax
test rax, rax
je 0x180049dfe
mov rax, qword [rsp + 0xc8]
shr rax, 5
mov word [rsp + 0x34], ax
jmp 0x180049e8a
movzx eax, byte [0x1800c6624]
movzx eax, al
movsx ecx, word [0x1800c664c]
cmp eax, ecx
je 0x180049e20
mov dword [rsp + 0x11c], 1
jmp 0x180049e2b
mov dword [rsp + 0x11c], 0
mov rax, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x3c]
movsxd rcx, ecx
cmp rax, rcx
jb 0x180049e49
mov dword [rsp + 0x118], 1
jmp 0x180049e54
mov dword [rsp + 0x118], 0
mov eax, dword [rsp + 0x118]
cmp dword [rsp + 0x11c], eax
jl 0x180049e8a
movsxd rax, dword [rsp + 0x44]
mov rcx, qword [0x1800c66e8]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x1800c66e8]
add rcx, rax
mov rax, rcx
mov qword [0x1800c66e8], rax
mov eax, dword [rsp + 0xc0]
add eax, 0x4f1
mov dword [rsp + 0x220], eax
movzx eax, word [0x1800c66dc]
mov rcx, qword [rsp + 0xc8]
cmp rax, rcx
jne 0x180049ebe
mov dword [rsp + 0x124], 1
jmp 0x180049ec9
mov dword [rsp + 0x124], 0
movzx eax, word [0x1800c66dc]
cmp eax, 0x25
jne 0x180049ee2
mov dword [rsp + 0x120], 1
jmp 0x180049eed
mov dword [rsp + 0x120], 0
mov eax, dword [rsp + 0x120]
cmp dword [rsp + 0x124], eax
jne 0x180049f76
movsx eax, word [0x1800c6748]
movzx ecx, byte [rsp + 0x22]
add eax, ecx
movsx ecx, word [0x1800c6748]
sub ecx, eax
mov eax, ecx
mov word [0x1800c6748], ax
cmp dword [0x1800c672c], 0
jne 0x180049f33
mov dword [rsp + 0x128], 1
jmp 0x180049f3e
mov dword [rsp + 0x128], 0
movzx eax, byte [0x1800c6677]
mov ecx, dword [0x1800c672c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x1800c663b]
mov edx, dword [rsp + 0x70]
add edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0x30]
imul edx, dword [rsp + 0x128]
add ecx, edx
not ecx
add eax, ecx
mov dword [rsp + 0x38], eax
jmp 0x180049fa0
mov rax, qword [0x1800c6740]
test rax, rax
je 0x180049fa0
movzx eax, byte [rsp + 0x20]
movsx eax, al
mov ecx, dword [0x1800c6730]
add eax, ecx
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0x38]
dec eax
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xc0]
add eax, 0x446
mov dword [rsp + 0x17c], eax
mov eax, 4
imul rax, rax, 0xe66
lea rcx, [0x1807c9600]
movsxd rax, dword [rcx + rax]
mov rcx, qword [rsp + 0x68]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
movzx eax, byte [rsp + 0x22]
mov qword [0x1800c66f0], rax
mov eax, dword [rsp + 0x178]
mov ecx, dword [rsp + 0x17c]
imul eax, ecx
sub eax, 0x148d5
xor eax, 0x112a23
mov dword [rsp + 0x18c], eax
mov rax, qword [rsp + 0x2c8]
mov ecx, dword [rsp + 0x78]
cmp dword [rax], ecx
jb 0x18004a0fc
mov eax, dword [rsp + 0x30]
mov ecx, dword [0x1800c66d4]
imul ecx, eax
mov eax, ecx
mov dword [0x1800c66d4], eax
mov eax, dword [0x180627458]
mov dword [rsp + 0xc4], eax
mov eax, dword [0x180627458]
mov dword [0x1800c670c], eax
movzx eax, byte [0x1800c6624]
movzx eax, al
test eax, eax
je 0x18004a067
mov eax, dword [0x1800c6734]
mov dword [rsp + 0x12c], eax
jmp 0x18004a073
movzx eax, byte [rsp + 0x21]
mov dword [rsp + 0x12c], eax
mov eax, dword [rsp + 0x12c]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x180]
mov ecx, dword [rsp + 0xc4]
add eax, ecx
mov dword [rsp + 0x194], eax
mov eax, dword [rsp + 0x184]
mov ecx, dword [rsp + 0xc4]
add eax, ecx
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x188]
mov ecx, dword [rsp + 0xc4]
add eax, ecx
mov dword [rsp + 0x190], eax
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x74]
add eax, ecx
mov ecx, dword [rsp + 0x18c]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x74]
mov edx, dword [rsp + 0x190]
xor ecx, edx
mov edx, dword [rsp + 0x74]
mov edi, dword [rsp + 0x194]
imul edx, edi
imul ecx, edx
cmp eax, ecx
je 0x18004a0fc
jmp 0x180048e6c
mov rax, qword [rsp + 0x2c8]
mov ecx, dword [rsp + 0x78]
mov dword [rax], ecx
mov rax, qword [rsp + 0x2c0]
mov ecx, dword [rsp + 0x50]
mov dword [rax], ecx
jmp 0x18004a11f
jmp 0x180048e6c
mov rax, qword [rsp + 0x2c0]
mov eax, dword [rax]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x2a8]
mov eax, dword [rcx + rax]
mov rcx, qword [rsp + 0x2a0]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x2d0]
mov qword [rcx], rax
mov rax, qword [rsp + 0x2d0]
mov rax, qword [rax]
mov qword [0x180627338], rax
mov rax, qword [rsp + 0x2b8]
mov eax, dword [rax]
mov qword [0x180627360], rax
mov eax, dword [rsp + 0x7c]
mov qword [0x180627390], rax
movzx eax, word [0x1800c6664]
movzx eax, ax
movzx ecx, word [rsp + 0x24]
movsx ecx, cx
not ecx
imul eax, ecx
test eax, eax
jne 0x18004a1a7
mov dword [rsp + 0x130], 1
jmp 0x18004a1b2
mov dword [rsp + 0x130], 0
movzx eax, byte [rsp + 0x23]
movzx eax, al
test eax, eax
jne 0x18004a1cb
mov dword [rsp + 0x134], 1
jmp 0x18004a1d6
mov dword [rsp + 0x134], 0
movzx eax, word [rsp + 0x28]
movzx eax, ax
mov ecx, dword [rsp + 0x130]
add ecx, eax
mov eax, ecx
mov ecx, 0xa54ece9d
sub ecx, dword [rsp + 0x134]
not ecx
mov edx, dword [0x1800c66e0]
mov edi, dword [0x1800c672c]
sub edi, edx
mov edx, edi
add ecx, edx
imul eax, ecx
mov byte [0x1800c6666], al
mov eax, dword [rsp + 0x7c]
add rsp, 0x288
pop rdi
pop rsi
ret