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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x698
mov byte [rsp + 0xd1], 0xed
movzx eax, byte [0x1800e340e]
mov byte [rsp + 0x24], al
mov dword [rsp + 0x40], 0xaf6c03d2
mov byte [rsp + 0x21], 0x3e
mov eax, 0xc9eb40b0
mov qword [rsp + 0x78], rax
mov byte [rsp + 0x22], 0xd3
mov dword [rsp + 0x44], 0xe3
mov dword [rsp + 0x4c], 0xd0d3f78e
mov eax, dword [0x1800e3430]
mov dword [rsp + 0x3c], eax
mov eax, 0x8b23
mov word [rsp + 0x2c], ax
movzx eax, byte [0x1800e33d6]
movzx eax, al
mov word [rsp + 0x28], ax
mov eax, dword [0x1800e3460]
mov dword [rsp + 0x48], eax
mov eax, 0x92b
mov word [rsp + 0x34], ax
mov byte [rsp + 0x23], 0x61
mov eax, 0xffff9139
mov word [rsp + 0x30], ax
movzx eax, word [0x1800e343c]
movsx rax, ax
mov qword [rsp + 0x60], rax
movabs rax, 0x2d8545f5b49b7
mov qword [rsp + 0x50], rax
movabs rax, 0x2f788779f63e2
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x38], 0xf1
movabs rax, 0x3a21c81cc172e
mov qword [rsp + 0x68], rax
mov byte [rsp + 0x20], 0xc2
movzx eax, byte [0x1800e347c]
mov byte [rsp + 0x25], al
movzx eax, byte [0x1800e33d6]
movzx eax, al
mov qword [rsp + 0x80], rax
movzx eax, byte [0x1800e33af]
mov dword [rsp + 0x550], eax
mov eax, 0x6ef
mov word [rsp + 0x43c], ax
mov qword [rsp + 0x5e8], 0x2022f060
movzx eax, word [0x1800e344c]
mov word [rsp + 0x464], ax
mov byte [rsp + 0xd2], 0x2d
mov qword [rsp + 0x5f0], 0xbb20
mov dword [rsp + 0x528], 0xe169
movzx eax, byte [0x1800e33af]
mov word [rsp + 0x46c], ax
mov qword [rsp + 0x5f8], 0x93
mov eax, 0x6a
mov word [rsp + 0x470], ax
movsx ax, byte [0x1800e340e]
mov word [rsp + 0x474], ax
movzx eax, word [0x1800e344c]
mov word [rsp + 0x478], ax
mov byte [rsp + 0xd0], 0xd1
movzx eax, byte [0x1800e3450]
mov byte [rsp + 0xb8], al
mov eax, 0x83ca
mov word [rsp + 0x47c], ax
mov dword [rsp + 0x52c], 0xfaebabc2
mov qword [rsp + 0x600], 0xa
movabs rax, 0xaf35ee323e444
mov qword [rsp + 0x608], rax
movzx eax, byte [0x1800e340f]
mov qword [rsp + 0x610], rax
movzx eax, byte [0x1800e33d7]
movsx rax, al
mov qword [rsp + 0x618], rax
mov rax, qword [0x1800e3440]
mov dword [rsp + 0x570], eax
movzx eax, word [0x1800e33ec]
mov word [rsp + 0x480], ax
mov eax, 0xd0
mov word [rsp + 0x450], ax
mov qword [rsp + 0x620], 0xf8b
mov eax, 0x86
mov word [rsp + 0x454], ax
mov qword [rsp + 0x628], 0x2ab01c89
movzx eax, byte [0x1800e33d7]
movsx ax, al
mov word [rsp + 0x44c], ax
mov eax, dword [rsp + 0x3c]
movzx ecx, byte [rsp + 0x24]
cmp eax, ecx
je 0x18003e3c5
mov dword [rsp + 0x178], 1
jmp 0x18003e3d0
mov dword [rsp + 0x178], 0
cmp dword [rsp + 0x178], 1
jne 0x18003e3e7
mov dword [rsp + 0x17c], 1
jmp 0x18003e3f2
mov dword [rsp + 0x17c], 0
mov eax, dword [rsp + 0x40]
cmp eax, dword [rsp + 0x17c]
jb 0x18003e40c
mov dword [rsp + 0x180], 1
jmp 0x18003e417
mov dword [rsp + 0x180], 0
mov eax, dword [rsp + 0x180]
not eax
test eax, eax
je 0x18003e43e
mov eax, dword [rsp + 0x3c]
mov eax, eax
mov rcx, qword [0x1800e3490]
imul rax, rcx
mov dword [rsp + 0x3c], eax
jmp 0x18003e57c
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jne 0x18003e45a
mov dword [rsp + 0x188], 1
jmp 0x18003e465
mov dword [rsp + 0x188], 0
mov rax, qword [rsp + 0x60]
cmp rax, 0xdbcd
ja 0x18003e47f
mov dword [rsp + 0x184], 1
jmp 0x18003e48a
mov dword [rsp + 0x184], 0
mov eax, dword [rsp + 0x184]
cmp dword [rsp + 0x188], eax
je 0x18003e4a7
mov dword [rsp + 0x18c], 1
jmp 0x18003e4b2
mov dword [rsp + 0x18c], 0
mov eax, dword [rsp + 0x18c]
not eax
test eax, eax
je 0x18003e4e2
mov rax, qword [rsp + 0x78]
imul rax, rax, 0x7ac2351c
movzx ecx, byte [rsp + 0x23]
movzx ecx, cl
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x23], al
jmp 0x18003e57c
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x3c]
cmp eax, ecx
jae 0x18003e4fb
mov dword [rsp + 0x194], 1
jmp 0x18003e506
mov dword [rsp + 0x194], 0
movzx eax, word [0x1800e34a0]
movzx eax, ax
cmp eax, 0xe733
jge 0x18003e524
mov dword [rsp + 0x190], 1
jmp 0x18003e52f
mov dword [rsp + 0x190], 0
mov eax, dword [rsp + 0x190]
cmp dword [rsp + 0x194], eax
jne 0x18003e57c
movzx eax, word [0x1800e34a4]
movzx eax, ax
test eax, eax
jne 0x18003e55a
mov dword [rsp + 0x198], 1
jmp 0x18003e565
mov dword [rsp + 0x198], 0
mov eax, dword [rsp + 0x48]
not eax
imul eax, dword [rsp + 0x198]
mov eax, eax
mov qword [0x1800e34c0], rax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0xd4], eax
movzx eax, word [rsp + 0x2c]
movabs rcx, 0x15a662a8773c9
sub rax, rcx
movsx rcx, byte [0x1800e341e]
sub rcx, rax
mov rax, rcx
mov byte [0x1800e341e], al
mov eax, dword [rsp + 0xd4]
add eax, 0x43
mov dword [rsp + 0x374], eax
movzx eax, byte [0x1800e343e]
movzx eax, al
movzx ecx, byte [rsp + 0x20]
cmp eax, ecx
jge 0x18003e5e9
mov dword [rsp + 0x48], 0xf5e2b629
mov eax, dword [rsp + 0x40]
shr eax, 5
mov eax, eax
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0xd4]
add eax, 0x2e7
mov dword [rsp + 0x56c], eax
mov eax, dword [rsp + 0xd4]
add eax, 0x14d
mov dword [rsp + 0x1cc], eax
movzx eax, word [0x1800e33ec]
movzx eax, ax
movabs rcx, 0xff2f5c0000a76
imul rax, rcx
mov ecx, dword [rsp + 0x40]
mov ecx, ecx
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x40], eax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0xd8], eax
mov eax, dword [0x1800e349c]
test eax, eax
je 0x18003e65f
mov rax, qword [0x1800e3440]
mov qword [rsp + 0x4a0], rax
jmp 0x18003e66f
mov eax, dword [0x1800e34b8]
mov eax, eax
mov qword [rsp + 0x4a0], rax
movzx eax, word [rsp + 0x4a0]
mov word [rsp + 0x2c], ax
movzx eax, byte [rsp + 0x21]
movsx eax, al
test eax, eax
je 0x18003e69b
movzx eax, byte [0x1800e33ae]
movzx eax, al
mov dword [rsp + 0x19c], eax
jmp 0x18003e6ac
movzx eax, byte [0x1800e33ef]
movsx eax, al
mov dword [rsp + 0x19c], eax
movzx eax, word [rsp + 0x19c]
mov word [rsp + 0x2c], ax
mov eax, dword [rsp + 0xd8]
add eax, 0xff
mov dword [rsp + 0x568], eax
movzx eax, word [0x1800e3448]
movzx eax, ax
mov ecx, dword [0x1800e3430]
xor ecx, eax
mov eax, ecx
mov dword [0x1800e3430], eax
mov eax, dword [rsp + 0xd8]
add eax, 0xab
mov dword [rsp + 0x3ac], eax
movzx eax, byte [0x1800e33ef]
movsx eax, al
test eax, eax
jne 0x18003e715
mov qword [rsp + 0x4a8], 1
jmp 0x18003e721
mov qword [rsp + 0x4a8], 0
mov rax, qword [0x1800e3490]
xor rax, qword [rsp + 0x4a8]
movsx ecx, word [0x1800e34ac]
imul ecx, ecx, 0xd
movsxd rcx, ecx
sub rax, rcx
mov dword [0x1800e34b8], eax
mov eax, dword [rsp + 0xd8]
add eax, 0x11
mov dword [rsp + 0x564], eax
mov dword [0x1800e3438], 8
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0xdc], eax
mov dword [rsp + 0x4c], 0
movzx eax, byte [rsp + 0x24]
mov rcx, qword [rsp + 0x58]
not rcx
add rax, rcx
mov byte [rsp + 0x20], al
movzx eax, word [0x1800e34ac]
inc ax
mov word [0x1800e34ac], ax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x468], eax
cmp dword [rsp + 0x468], 0
je 0x18003e7b5
jmp 0x18003e87e
mov rax, qword [rsp + 0x60]
mov ecx, 4
imul rcx, rcx, 0x2553
lea rdx, [0x18083b750]
mov dword [rdx + rcx], eax
movzx eax, word [0x1800e341c]
mov rcx, qword [rsp + 0x68]
not rcx
imul rax, rcx
test rax, rax
jne 0x18003e7f5
mov dword [rsp + 0x1a0], 1
jmp 0x18003e800
mov dword [rsp + 0x1a0], 0
mov rax, qword [rsp + 0x60]
test rax, rax
jne 0x18003e817
mov dword [rsp + 0x1a4], 1
jmp 0x18003e822
mov dword [rsp + 0x1a4], 0
movzx eax, word [0x1800e341c]
test eax, eax
jne 0x18003e83a
mov dword [rsp + 0x1a8], 1
jmp 0x18003e845
mov dword [rsp + 0x1a8], 0
movzx eax, byte [rsp + 0x25]
mov ecx, dword [rsp + 0x1a0]
imul ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x23]
movzx ecx, cl
mov edx, dword [rsp + 0x1a4]
imul edx, ecx
mov ecx, edx
sub ecx, dword [rsp + 0x1a8]
not ecx
add eax, ecx
not eax
cdqe
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0xdc]
add eax, 0x292
mov dword [rsp + 0x3f8], eax
mov rax, qword [0x1800e3470]
not rax
test rax, rax
je 0x18003e8a5
jmp 0x18003e970
cmp dword [rsp + 0x4c], 0
je 0x18003e903
movsx rax, byte [0x1800e344a]
movabs rcx, 0x4b8848028736b
imul rax, rcx
mov word [0x1800e347c], ax
cmp qword [0x1800e3480], 0
je 0x18003e8e1
movzx eax, byte [rsp + 0x25]
mov dword [rsp + 0x1ac], eax
jmp 0x18003e8f2
movzx eax, word [0x1800e34a4]
movzx eax, ax
mov dword [rsp + 0x1ac], eax
movsxd rax, dword [rsp + 0x1ac]
mov qword [0x1800e3480], rax
jmp 0x18003e970
movsx eax, word [0x1800e347c]
test eax, eax
je 0x18003e92e
mov eax, dword [0x1800e3434]
xor ecx, ecx
sub ecx, eax
mov eax, ecx
movzx ecx, byte [0x1800e33ae]
movzx ecx, cl
add eax, ecx
not eax
mov byte [rsp + 0x22], al
jmp 0x18003e970
movzx eax, byte [rsp + 0x22]
cmp qword [0x1800e3458], rax
je 0x18003e970
movsx eax, byte [0x1800e33ee]
imul eax, eax, 0xfa52
mov byte [0x1800e343e], al
mov eax, dword [0x1800e349c]
xor eax, 0x377dee2c
mov eax, eax
mov rcx, qword [0x1800e3440]
add rcx, rax
mov rax, rcx
mov qword [0x1800e3440], rax
mov eax, dword [rsp + 0xdc]
add eax, 0x314
mov dword [rsp + 0x3f4], eax
movsx rax, word [0x1800e34ac]
cmp qword [rsp + 0x58], rax
jbe 0x18003ea9a
mov byte [rsp + 0x21], 4
movsxd rax, dword [rsp + 0x38]
mov ecx, 8
imul rcx, rcx, 0x83
lea rdx, [0x1809025b0]
mov qword [rdx + rcx], rax
movsx eax, word [0x1800e347c]
movsx ecx, word [0x1800e347c]
add eax, ecx
mov word [0x1800e347c], ax
movzx eax, byte [rsp + 0x21]
mov byte [rsp + 0xa4], al
cmp byte [rsp + 0xa4], 0
je 0x18003ea07
cmp byte [rsp + 0xa4], 2
je 0x18003ea32
cmp byte [rsp + 0xa4], 3
je 0x18003ea63
cmp byte [rsp + 0xa4], 4
je 0x18003ea71
jmp 0x18003ea98
mov byte [0x1800e33d7], 0xa9
movzx eax, word [0x1800e3478]
movsx rax, ax
mov rcx, qword [0x1800e3458]
not rcx
imul rax, rcx
mov word [0x1800e34a8], ax
jmp 0x18003ea98
movzx eax, byte [rsp + 0x21]
movsx eax, al
movsx ecx, byte [0x1800e343f]
imul eax, ecx
mov byte [rsp + 0x21], al
movsx rax, word [0x1800e34a8]
movabs rcx, 0x42bc95660fd25
add rax, rcx
mov byte [rsp + 0x21], al
jmp 0x18003ea98
mov eax, dword [0x1807b5d30]
mov dword [0x1800e3438], eax
jmp 0x18003ea98
movzx eax, byte [0x1800e33ef]
movsx rax, al
mov rcx, qword [0x1800e3490]
sub rax, rcx
mov qword [0x1800e34d0], rax
mov qword [0x1800e3490], 0xa0
jmp 0x18003eaf0
mov rax, qword [0x1800e3488]
mov rcx, qword [0x1800e3480]
or rcx, rax
mov rax, rcx
test rax, rax
jne 0x18003eac0
mov dword [rsp + 0x1b0], 1
jmp 0x18003eacb
mov dword [rsp + 0x1b0], 0
mov eax, dword [rsp + 0x1b0]
mov dword [0x1800e3498], eax
movzx eax, byte [0x1800e33ae]
movzx eax, al
mov ecx, dword [0x1800e3430]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x21], al
mov eax, dword [rsp + 0xdc]
add eax, 0xb4
mov dword [rsp + 0x2e8], eax
movsx eax, byte [0x1800e33ee]
test eax, eax
je 0x18003eb1f
mov rax, qword [0x1800e34c0]
mov qword [rsp + 0x4b0], rax
jmp 0x18003eb2e
mov rax, qword [0x1800e3458]
mov qword [rsp + 0x4b0], rax
mov rax, qword [rsp + 0x4b0]
mov qword [rsp + 0x68], rax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0xe0], eax
mov eax, dword [0x1807b5d30]
mov qword [0x1800e34c8], rax
mov eax, dword [rsp + 0xe0]
add eax, 0x16
mov dword [rsp + 0x370], eax
movzx eax, byte [rsp + 0x23]
movzx eax, al
xor eax, 0xc9
mov word [0x1800e3450], ax
mov eax, dword [rsp + 0xe0]
add eax, 0xa1b2
mov dword [rsp + 0x560], eax
movzx eax, byte [rsp + 0x24]
mov ecx, dword [0x1800e349c]
cmp eax, ecx
ja 0x18003eba9
mov dword [rsp + 0x1b8], 1
jmp 0x18003ebb4
mov dword [rsp + 0x1b8], 0
movzx eax, byte [rsp + 0x24]
cmp eax, 0x15
jg 0x18003ebcb
mov dword [rsp + 0x1b4], 1
jmp 0x18003ebd6
mov dword [rsp + 0x1b4], 0
mov eax, dword [rsp + 0x1b4]
cmp dword [rsp + 0x1b8], eax
jl 0x18003ed9d
mov eax, 4
mov word [0x1800e34a8], ax
mov eax, dword [rsp + 0x48]
imul eax, eax, 0xa7e5ea31
mov dword [rsp + 0x3c], eax
movsx eax, word [0x1800e34a8]
mov dword [rsp + 0x90], eax
cmp dword [rsp + 0x90], 0
je 0x18003ec55
cmp dword [rsp + 0x90], 1
je 0x18003ec70
cmp dword [rsp + 0x90], 2
je 0x18003ecca
cmp dword [rsp + 0x90], 3
je 0x18003ed0c
cmp dword [rsp + 0x90], 4
je 0x18003ed86
jmp 0x18003ed98
movzx eax, word [0x1800e341c]
mov rcx, qword [rsp + 0x68]
xor rax, rcx
mov word [0x1800e341c], ax
jmp 0x18003ed98
movzx eax, word [0x1800e344c]
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
test rax, rax
jne 0x18003ec94
mov dword [rsp + 0x1bc], 1
jmp 0x18003ec9f
mov dword [rsp + 0x1bc], 0
movzx eax, byte [0x1800e33af]
xor eax, dword [rsp + 0x1bc]
mov dword [0x1800e3434], eax
mov eax, dword [rsp + 0x40]
mov eax, eax
mov rcx, qword [rsp + 0x78]
add rax, rcx
mov dword [rsp + 0x40], eax
jmp 0x18003ed98
mov rax, qword [0x1800e3428]
mov rcx, qword [rsp + 0x80]
sub rax, rcx
mov qword [0x1800e3428], rax
movzx eax, byte [rsp + 0x21]
movsx eax, al
imul eax, eax, 0x11f7
cdqe
mov rcx, qword [0x1800e3460]
add rcx, rax
mov rax, rcx
mov qword [0x1800e3460], rax
jmp 0x18003ed98
movzx eax, word [0x1800e3454]
mov rcx, qword [0x1800e3420]
not rcx
add rax, rcx
mov ecx, dword [rsp + 0x3c]
mov edx, 0x8475
sub edx, ecx
mov ecx, edx
mov ecx, ecx
imul rax, rcx
movsx ecx, word [rsp + 0x28]
movzx edx, word [0x1800e34a0]
movzx edx, dx
imul ecx, edx
movsxd rcx, ecx
mov rdx, qword [rsp + 0x78]
add rdx, rcx
mov rcx, rdx
not rcx
and rax, rcx
test rax, rax
jne 0x18003ed6d
mov eax, 1
mov word [rsp + 0x88], ax
jmp 0x18003ed77
xor eax, eax
mov word [rsp + 0x88], ax
movzx eax, word [rsp + 0x88]
mov word [rsp + 0x28], ax
jmp 0x18003ed98
movzx eax, word [rsp + 0x2c]
imul eax, eax, 0xc28711f0
mov word [0x1800e341c], ax
jmp 0x18003ee32
mov eax, dword [rsp + 0x48]
movzx ecx, word [0x1800e33ec]
movzx ecx, cx
cmp eax, ecx
jbe 0x18003edbb
mov rax, qword [rsp + 0x68]
mov word [rsp + 0x30], ax
jmp 0x18003ee32
movzx eax, byte [0x1800e343e]
movzx eax, al
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
jae 0x18003eddc
mov dword [rsp + 0x1c4], 1
jmp 0x18003ede7
mov dword [rsp + 0x1c4], 0
movzx eax, byte [0x1800e33d7]
movsx eax, al
mov ecx, dword [0x1800e3498]
cmp eax, ecx
je 0x18003ee08
mov dword [rsp + 0x1c0], 1
jmp 0x18003ee13
mov dword [rsp + 0x1c0], 0
mov eax, dword [rsp + 0x1c0]
mov ecx, dword [rsp + 0x1c4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x18003ee32
mov qword [rsp + 0x50], 8
mov eax, dword [rsp + 0xe0]
add eax, 0x2205
mov dword [rsp + 0x1c8], eax
mov eax, dword [rsp + 0x1c8]
mov ecx, dword [rsp + 0x370]
sub eax, ecx
mov ecx, dword [rsp + 0x1c8]
imul ecx, ecx, 0xfa3b
or eax, ecx
mov ecx, 0x2140bc25
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x374]
xor ecx, 0xcc
imul ecx, ecx, 0
mov edx, dword [rsp + 0x1cc]
mov r8d, dword [rsp + 0x1cc]
xor edx, r8d
imul edx, edx, 0
sub ecx, edx
sub eax, ecx
mov dword [rsp + 0x3b4], eax
mov eax, dword [0x1800e34b8]
mov eax, eax
mov rcx, qword [rsp + 0x60]
add rax, rcx
movzx ecx, byte [rsp + 0x20]
sub ecx, 0xb8a3
movsxd rcx, ecx
or rax, rcx
mov qword [0x1800e3420], rax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0xe4]
add eax, 0x3a
mov dword [rsp + 0x37c], eax
movzx eax, byte [rsp + 0x25]
test eax, eax
je 0x18003efc2
mov dword [rsp + 0x3c], 3
movzx eax, word [rsp + 0x2c]
inc ax
mov word [rsp + 0x2c], ax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
add rax, rcx
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0xac], eax
cmp dword [rsp + 0xac], 0
je 0x18003ef4c
cmp dword [rsp + 0xac], 1
je 0x18003ef61
cmp dword [rsp + 0xac], 2
je 0x18003ef9c
cmp dword [rsp + 0xac], 3
je 0x18003efb5
jmp 0x18003efc0
movzx eax, byte [0x1800e33ef]
movsx rax, al
mov qword [rsp + 0x80], rax
jmp 0x18003efc0
movsx eax, word [rsp + 0x34]
test eax, eax
je 0x18003ef7b
mov rax, qword [0x1800e34c0]
mov qword [rsp + 0x4b8], rax
jmp 0x18003ef8e
movzx eax, word [0x1800e3478]
movsx rax, ax
mov qword [rsp + 0x4b8], rax
movzx eax, byte [rsp + 0x4b8]
mov byte [rsp + 0x25], al
jmp 0x18003efc0
mov rax, qword [0x1800e34c8]
shr rax, 8
mov qword [rsp + 0x60], rax
mov byte [0x1800e33d6], 0x3f
jmp 0x18003efc0
movzx eax, byte [rsp + 0x21]
dec al
mov byte [rsp + 0x21], al
jmp 0x18003eff1
movsx eax, word [rsp + 0x34]
not eax
test eax, eax
je 0x18003eff1
movzx eax, word [rsp + 0x2c]
sub eax, 0x425dcb2e
cdqe
mov qword [0x1800e3428], rax
mov rax, qword [0x1800e34d0]
inc rax
mov qword [0x1800e34d0], rax
mov eax, dword [rsp + 0xe4]
add eax, 0x1c
mov dword [rsp + 0x378], eax
mov eax, dword [rsp + 0xe4]
add eax, 0xa94c
mov dword [rsp + 0x55c], eax
mov eax, dword [rsp + 0x48]
movzx ecx, byte [0x1800e33d6]
movzx ecx, cl
cmp eax, ecx
jne 0x18003f034
mov dword [rsp + 0x1d4], 1
jmp 0x18003f03f
mov dword [rsp + 0x1d4], 0
mov eax, dword [rsp + 0x48]
cmp eax, 0x23
jne 0x18003f055
mov dword [rsp + 0x1d0], 1
jmp 0x18003f060
mov dword [rsp + 0x1d0], 0
mov eax, dword [rsp + 0x1d0]
cmp dword [rsp + 0x1d4], eax
jg 0x18003f075
jmp 0x18003f12f
movzx eax, word [0x1800e34b4]
cwde
test eax, eax
jne 0x18003f08e
mov dword [rsp + 0x1d8], 1
jmp 0x18003f099
mov dword [rsp + 0x1d8], 0
mov eax, dword [0x1800e34b8]
cmp dword [rsp + 0x1d8], eax
ja 0x18003f0b5
mov dword [rsp + 0x1dc], 1
jmp 0x18003f0c0
mov dword [rsp + 0x1dc], 0
mov rax, qword [0x1800e34c0]
not rax
mov ecx, dword [rsp + 0x1dc]
not ecx
movsxd rcx, ecx
cmp rax, rcx
jne 0x18003f12f
movzx eax, word [0x1800e341c]
mov rcx, qword [rsp + 0x68]
imul rax, rcx
mov byte [0x1800e344a], al
mov eax, dword [rsp + 0x40]
mov eax, eax
mov rcx, qword [0x1800e3470]
not rcx
imul rcx, rcx, 0xf084
imul rax, rcx
add rax, qword [0x1800e3480]
test rax, rax
jne 0x18003f11f
mov byte [rsp + 0x70], 1
jmp 0x18003f124
mov byte [rsp + 0x70], 0
movzx eax, byte [rsp + 0x70]
mov byte [0x1800e340e], al
cmp qword [rsp + 0x58], 0
je 0x18003f146
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x4c0], rax
jmp 0x18003f156
movsx rax, word [0x1800e34a8]
mov qword [rsp + 0x4c0], rax
movzx eax, word [rsp + 0x4c0]
mov word [0x1800e3450], ax
mov eax, dword [rsp + 0x378]
or eax, 0x6770
mov ecx, dword [rsp + 0x37c]
imul ecx, ecx, 0xe5
mov edx, 0xffff64dc
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x3b8], eax
mov rax, qword [0x1800e34c8]
add rax, 0x53640393
mov word [rsp + 0x34], ax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0xe8], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x19
mov dword [rsp + 0x558], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x5d
mov dword [rsp + 0x1f0], eax
movsxd rax, dword [0x1800e3438]
movabs rcx, 0x98b35b69e7ab5
add rax, rcx
mov dword [rsp + 0x38], eax
movzx eax, word [0x1800e343c]
cwde
sar eax, 8
mov byte [0x1800e33d7], al
mov eax, dword [rsp + 0xe8]
add eax, 0x90
mov dword [rsp + 0x554], eax
cmp qword [0x1800e3470], 0
je 0x18003f23a
mov eax, 0x893118a0
mov qword [0x1800e3490], rax
movzx eax, byte [rsp + 0x25]
mov ecx, dword [rsp + 0x4c]
not ecx
xor eax, ecx
mov byte [rsp + 0x20], al
jmp 0x18003f308
movsx eax, word [rsp + 0x34]
test eax, eax
jne 0x18003f250
mov dword [rsp + 0x1e0], 1
jmp 0x18003f25b
mov dword [rsp + 0x1e0], 0
movzx eax, byte [0x1800e33eb]
cmp eax, dword [rsp + 0x1e0]
je 0x18003f278
mov dword [rsp + 0x1e8], 1
jmp 0x18003f283
mov dword [rsp + 0x1e8], 0
mov rax, qword [0x1800e3440]
movzx ecx, byte [rsp + 0x21]
movsx rcx, cl
cmp rax, rcx
jne 0x18003f2a5
mov dword [rsp + 0x1e4], 1
jmp 0x18003f2b0
mov dword [rsp + 0x1e4], 0
mov eax, dword [rsp + 0x1e4]
cmp dword [rsp + 0x1e8], eax
je 0x18003f2cd
mov dword [rsp + 0x1ec], 1
jmp 0x18003f2d8
mov dword [rsp + 0x1ec], 0
mov eax, dword [rsp + 0x1ec]
not eax
test eax, eax
je 0x18003f308
mov qword [0x1800e3460], 0x4e
movzx eax, word [0x1800e34a0]
movzx eax, ax
sub rax, qword [0x1800e3460]
mov word [0x1800e34a0], ax
xor eax, eax
mov word [0x1800e343c], ax
mov rax, qword [rsp + 0x78]
mov qword [0x1800e3458], rax
mov eax, dword [0x1807b5d30]
mov qword [rsp + 0x50], rax
movzx eax, word [0x1800e343c]
cwde
mov dword [rsp + 0x380], eax
cmp dword [rsp + 0x380], 0
je 0x18003f343
jmp 0x18003f37e
movzx eax, byte [0x1800e343e]
movzx eax, al
add eax, dword [rsp + 0x38]
movzx ecx, byte [0x1800e343e]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x1800e343e], al
movzx eax, byte [rsp + 0x20]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x1f0]
mov ecx, dword [rsp + 0x1f0]
or eax, ecx
xor eax, 0x381
mov dword [rsp + 0x3bc], eax
mov eax, dword [0x1800e3498]
add eax, 0x5af
cdqe
mov rcx, qword [rsp + 0x58]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
movabs rax, 0xa49e21c3c5d9a
mov qword [0x1800e3440], rax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0xec], eax
movzx eax, byte [rsp + 0x24]
sub eax, 0x83381c33
mov eax, eax
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0xec]
add eax, 0x1dcb
mov dword [rsp + 0x384], eax
mov eax, dword [rsp + 0xec]
add eax, 0xa
mov dword [rsp + 0x388], eax
movzx eax, byte [rsp + 0x20]
not eax
cdqe
mov rcx, qword [0x1800e3420]
imul rcx, rax
mov rax, rcx
test rax, rax
jne 0x18003f433
mov dword [rsp + 0x1f4], 1
jmp 0x18003f43e
mov dword [rsp + 0x1f4], 0
movzx eax, byte [rsp + 0x22]
movzx ecx, word [0x1800e34b0]
movsx ecx, cx
or eax, ecx
test eax, eax
jne 0x18003f460
mov dword [rsp + 0x1f8], 1
jmp 0x18003f46b
mov dword [rsp + 0x1f8], 0
mov eax, dword [rsp + 0x1f4]
imul eax, dword [rsp + 0x1f8]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0xec]
add eax, 0x1d
mov dword [rsp + 0x1fc], eax
mov eax, dword [rsp + 0x384]
mov ecx, dword [rsp + 0x1fc]
sub eax, ecx
mov ecx, dword [rsp + 0x1fc]
mov edx, dword [rsp + 0x388]
imul ecx, edx
sub eax, ecx
add eax, 0xffffe6f2
mov dword [rsp + 0x3c8], eax
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x18003f4ca
jmp 0x18003f4fa
movzx eax, byte [0x1800e33d7]
movsx eax, al
test eax, eax
jne 0x18003f4fa
mov eax, dword [rsp + 0x3c]
add eax, 0xb36d
mov dword [0x1800e3438], eax
movzx eax, byte [rsp + 0x24]
xor eax, 0x7f08c0d4
cdqe
mov qword [0x1800e3460], rax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0xf0], eax
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x18003f5e1
movzx eax, byte [0x1800e33ae]
movzx eax, al
cmp qword [rsp + 0x50], rax
jb 0x18003f536
mov dword [rsp + 0x204], 1
jmp 0x18003f541
mov dword [rsp + 0x204], 0
cmp qword [rsp + 0x50], 0x3f
jb 0x18003f556
mov dword [rsp + 0x200], 1
jmp 0x18003f561
mov dword [rsp + 0x200], 0
mov eax, dword [rsp + 0x200]
cmp dword [rsp + 0x204], eax
jle 0x18003f5a8
mov eax, dword [rsp + 0x38]
shl eax, 1
mov byte [0x1800e340e], al
mov eax, 2
imul rax, rax, 0x1e52
lea rcx, [0x1808ec220]
movsx eax, word [rcx + rax]
movsx ecx, word [0x1800e34ac]
add ecx, eax
mov eax, ecx
mov word [0x1800e34ac], ax
jmp 0x18003f5df
movzx eax, byte [0x1807b5d30]
mov byte [rsp + 0x25], al
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x18003f5c9
movzx eax, byte [rsp + 0x22]
mov dword [rsp + 0x208], eax
jmp 0x18003f5d4
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x208], eax
mov eax, dword [rsp + 0x208]
mov dword [rsp + 0x3c], eax
jmp 0x18003f60c
cmp qword [0x1800e3488], 0xeb49
jne 0x18003f60c
mov eax, dword [rsp + 0x3c]
dec eax
mov dword [rsp + 0x3c], eax
mov rax, qword [0x1800e3480]
add rax, 0x75fb8449
mov qword [0x1800e34c0], rax
mov eax, dword [rsp + 0xf0]
add eax, 0xde
mov dword [rsp + 0x54c], eax
mov eax, dword [rsp + 0xf0]
add eax, 0xf324
mov dword [rsp + 0x548], eax
movzx eax, byte [rsp + 0x25]
test eax, eax
jne 0x18003f648
mov dword [rsp + 0x20c], 1
jmp 0x18003f653
mov dword [rsp + 0x20c], 0
movsx eax, word [rsp + 0x28]
mov ecx, dword [rsp + 0x20c]
imul ecx, eax
mov eax, ecx
not eax
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0xf0]
add eax, 0xee
mov dword [rsp + 0x210], eax
movzx eax, byte [rsp + 0x23]
movzx eax, al
test eax, eax
je 0x18003f697
movzx eax, byte [rsp + 0x22]
add eax, 0xf1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x210]
sub eax, 0xbd
mov ecx, dword [rsp + 0x210]
imul ecx, ecx, 0xf843
imul eax, ecx
mov ecx, 0x2c2d7d80
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x3cc], eax
mov eax, 3
mov word [0x1800e34ac], ax
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x18003f6e6
mov dword [rsp + 0x214], 1
jmp 0x18003f6f1
mov dword [rsp + 0x214], 0
movzx eax, byte [0x1800e33ef]
movsx rax, al
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
xor rcx, rdx
sub rax, rcx
movsx ecx, word [rsp + 0x28]
not ecx
mov edx, dword [0x1800e349c]
not edx
imul ecx, edx
imul ecx, dword [rsp + 0x214]
mov ecx, ecx
xor rax, rcx
mov byte [rsp + 0x25], al
mov eax, dword [0x1800e3434]
mov ecx, 4
imul rcx, rcx, 0x57
lea rdx, [0x18093c5d0]
mov dword [rdx + rcx], eax
movsx eax, word [0x1800e34ac]
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0xa0], 0
je 0x18003f787
cmp dword [rsp + 0xa0], 1
je 0x18003f7a6
cmp dword [rsp + 0xa0], 2
je 0x18003f7e7
cmp dword [rsp + 0xa0], 3
je 0x18003f817
jmp 0x18003f83f
imul rax, qword [rsp + 0x50], 0xb4
mov qword [0x1800e3460], rax
mov eax, 0x3f64
mov word [rsp + 0x2c], ax
jmp 0x18003f83f
mov eax, dword [rsp + 0x40]
mov eax, eax
mov rcx, qword [0x1800e34c8]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x1800e34c8]
add rcx, rax
mov rax, rcx
mov qword [0x1800e34c8], rax
movzx eax, word [rsp + 0x2c]
mov rcx, qword [0x1800e3490]
and rcx, rax
mov rax, rcx
mov dword [0x1800e3434], eax
jmp 0x18003f83f
movzx eax, word [0x1800e3450]
mov rcx, qword [rsp + 0x78]
add rax, rcx
not rax
movzx ecx, word [0x1800e34a4]
movzx ecx, cx
mov edx, dword [rsp + 0x3c]
sub edx, ecx
mov ecx, edx
mov ecx, ecx
sub rax, rcx
mov word [rsp + 0x28], ax
jmp 0x18003f83f
movsx rax, word [rsp + 0x28]
mov rcx, qword [0x1800e3428]
xor rcx, rax
mov rax, rcx
mov qword [0x1800e3428], rax
mov eax, dword [rsp + 0x44]
add eax, 0xf0
mov word [rsp + 0x30], ax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0xf4], eax
movzx eax, word [0x1800e34a8]
dec ax
mov word [0x1800e34a8], ax
mov eax, dword [rsp + 0xf4]
add eax, 0x92d5
mov dword [rsp + 0x390], eax
movsx eax, byte [0x1800e344a]
movzx ecx, word [rsp + 0x2c]
cmp eax, ecx
jne 0x18003f8cd
movzx eax, byte [rsp + 0x25]
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
not rax
movzx ecx, word [0x1800e34b4]
movsx ecx, cx
movzx edx, byte [0x1800e33af]
imul ecx, edx
movsxd rcx, ecx
add rax, rcx
mov qword [0x1800e3488], rax
movzx eax, word [0x1800e344c]
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov word [0x1800e344c], ax
jmp 0x18003f9ab
movzx eax, byte [0x1800e33ef]
movsx eax, al
test eax, eax
je 0x18003f8ea
mov eax, 8
mov word [rsp + 0x30], ax
jmp 0x18003f9ab
movsx eax, word [0x1800e34a8]
mov ecx, dword [rsp + 0x48]
sub eax, ecx
not eax
mov eax, eax
movzx ecx, word [0x1800e34b0]
movsx rcx, cx
add rcx, qword [0x1800e3460]
cmp rax, rcx
jle 0x18003f95d
movsx eax, byte [0x1800e33ee]
test eax, eax
je 0x18003f92e
movzx eax, byte [rsp + 0x23]
movzx eax, al
mov dword [rsp + 0x218], eax
jmp 0x18003f93a
movsx eax, word [rsp + 0x34]
mov dword [rsp + 0x218], eax
movsxd rax, dword [rsp + 0x218]
mov qword [0x1800e3488], rax
mov rax, qword [0x1800e3420]
add rax, 0x3dec
mov word [rsp + 0x2c], ax
jmp 0x18003f9ab
mov rax, qword [0x1800e3428]
cmp rax, qword [0x1800e3480]
jne 0x18003f97a
mov dword [rsp + 0x21c], 1
jmp 0x18003f985
mov dword [rsp + 0x21c], 0
mov eax, dword [rsp + 0x21c]
not eax
cmp eax, 0xffff5c3d
jl 0x18003f9ab
movzx eax, byte [rsp + 0x23]
movzx eax, al
sub eax, 0xb9863c57
mov eax, eax
mov qword [0x1800e3470], rax
mov eax, dword [rsp + 0xf4]
add eax, 0x8cee
mov dword [rsp + 0x544], eax
mov eax, dword [rsp + 0xf4]
add eax, 0xdd
mov dword [rsp + 0x38c], eax
cmp qword [0x1800e3470], 0xb99e
jge 0x18003f9eb
mov dword [rsp + 0x220], 1
jmp 0x18003f9f6
mov dword [rsp + 0x220], 0
movzx eax, word [rsp + 0x30]
movsx rax, ax
cmp rax, qword [rsp + 0x50]
jne 0x18003fa13
mov dword [rsp + 0x224], 1
jmp 0x18003fa1e
mov dword [rsp + 0x224], 0
mov eax, dword [rsp + 0x220]
imul eax, dword [rsp + 0x224]
test eax, eax
je 0x18003fa53
movzx eax, word [0x1800e3448]
movzx eax, ax
test eax, eax
jne 0x18003fa46
xor eax, eax
cmp eax, 1
je 0x18003fa53
mov dword [rsp + 0x228], 1
jmp 0x18003fa5e
mov dword [rsp + 0x228], 0
mov eax, dword [rsp + 0x228]
not eax
test eax, eax
je 0x18003fae5
movzx eax, word [0x1800e34b4]
cwde
test eax, eax
je 0x18003fa9e
mov eax, dword [rsp + 0x4c]
mov rcx, qword [0x1800e3420]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x1800e3420]
and rcx, rax
mov rax, rcx
mov qword [0x1800e3420], rax
jmp 0x18003fae3
movzx eax, word [0x1800e344c]
mov ecx, dword [0x1800e3430]
add eax, ecx
movzx ecx, word [0x1800e344c]
sub ecx, eax
mov eax, ecx
mov word [0x1800e344c], ax
mov eax, dword [0x1800e3430]
mov eax, eax
mov rcx, qword [rsp + 0x68]
sub rax, rcx
mov ecx, dword [0x1800e3430]
mov ecx, ecx
add rcx, rax
mov rax, rcx
mov dword [0x1800e3430], eax
jmp 0x18003fb31
movzx eax, byte [0x1800e340f]
movzx ecx, word [0x1800e3448]
movzx ecx, cx
cmp eax, ecx
je 0x18003fb31
movzx eax, byte [rsp + 0x21]
movsx eax, al
test eax, eax
je 0x18003fb15
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x4c8], rax
jmp 0x18003fb24
mov rax, qword [0x1800e34d0]
mov qword [rsp + 0x4c8], rax
movzx eax, word [rsp + 0x4c8]
mov word [rsp + 0x28], ax
movzx eax, word [0x1800e3448]
movzx eax, ax
add eax, 0x35bb26c0
mov dword [0x1800e34b8], eax
mov eax, dword [rsp + 0x38c]
mov ecx, dword [rsp + 0x390]
imul eax, ecx
xor eax, 0x7ec348
mov dword [rsp + 0x3d0], eax
mov byte [rsp + 0x23], 0xd6
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0xf8], eax
mov eax, dword [rsp + 0xf8]
add eax, 0x5212
mov dword [rsp + 0xfc], eax
mov eax, dword [rsp + 0xf8]
add eax, 0xe337
mov dword [rsp + 0x540], eax
mov eax, dword [rsp + 0xf8]
add eax, 0xa5b7
mov dword [rsp + 0x5b4], eax
movzx eax, word [rsp + 0x2c]
add eax, 0x79
mov word [0x1800e344c], ax
mov eax, dword [rsp + 0xfc]
sub eax, 0x97
mov ecx, dword [rsp + 0xfc]
mov edx, dword [rsp + 0xfc]
sub ecx, edx
or eax, ecx
mov ecx, 0x54cd
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x3e0], eax
movzx eax, byte [rsp + 0x22]
cmp eax, 0x96
jle 0x18003fc04
mov dword [rsp + 0x230], 1
jmp 0x18003fc0f
mov dword [rsp + 0x230], 0
movzx eax, word [0x1800e34a0]
movzx eax, ax
cmp rax, qword [rsp + 0x58]
ja 0x18003fc2d
mov dword [rsp + 0x22c], 1
jmp 0x18003fc38
mov dword [rsp + 0x22c], 0
mov eax, dword [rsp + 0x22c]
cmp dword [rsp + 0x230], eax
je 0x18003fc55
mov dword [rsp + 0x234], 1
jmp 0x18003fc60
mov dword [rsp + 0x234], 0
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x234], eax
jb 0x18003fc92
movsx eax, word [rsp + 0x34]
test eax, eax
je 0x18003fc92
movzx eax, byte [0x1800e340e]
dec al
mov byte [0x1800e340e], al
mov rax, qword [0x1800e3428]
mov byte [0x1800e344a], al
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0x100], eax
mov eax, dword [rsp + 0x100]
add eax, 0xc8
mov dword [rsp + 0x238], eax
mov eax, 0xb658
mov word [0x1800e344c], ax
mov eax, dword [rsp + 0x100]
add eax, 0xed0d
mov dword [rsp + 0x574], eax
mov eax, dword [rsp + 0x100]
add eax, 0x656c
mov dword [rsp + 0x394], eax
lea rax, [rsp + 0x668]
lea rcx, str.api_ms_win_core_ut
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x668]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
mov qword [0x1800e3468], rax
mov eax, dword [rsp + 0x238]
or eax, 0x16
mov ecx, dword [rsp + 0x394]
mov edx, dword [rsp + 0x238]
sub ecx, edx
or eax, ecx
mov ecx, 0x67bc
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x3d8], eax
mov byte [0x1800e33ae], 1
mov eax, dword [rsp + 0x40]
mov eax, eax
mov ecx, 8
imul rcx, rcx, 0x4de3
lea rdx, [0x180898e10]
mov qword [rdx + rcx], rax
movzx eax, byte [0x1800e33eb]
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
movzx eax, byte [0x1800e33ae]
mov byte [rsp + 0x23c], al
cmp byte [rsp + 0x23c], 0
je 0x18003fd9e
cmp byte [rsp + 0x23c], 1
je 0x18003fdb6
jmp 0x18003fdd2
movzx eax, byte [rsp + 0x22]
not eax
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
mov eax, ecx
mov word [0x1800e341c], ax
jmp 0x18003fdd2
movzx eax, word [rsp + 0x2c]
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x50]
mov byte [0x1800e341e], al
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0x104], eax
movsx eax, word [rsp + 0x28]
xor eax, 0x8a1c2abf
mov byte [0x1800e341e], al
mov eax, dword [rsp + 0x104]
add eax, 0x8647
mov dword [rsp + 0x578], eax
movzx eax, byte [0x1800e343e]
movzx eax, al
mov rcx, qword [0x1800e3490]
cmp rax, rcx
jne 0x18003fe1a
jmp 0x18003fe32
mov eax, dword [rsp + 0x48]
dec eax
mov dword [rsp + 0x48], eax
movzx eax, byte [0x1800e341f]
sub eax, 0x4f
mov byte [rsp + 0x21], al
mov eax, dword [rsp + 0x104]
add eax, 0xcc
mov dword [rsp + 0x398], eax
mov eax, dword [rsp + 0x104]
add eax, 0xd195
mov dword [rsp + 0x39c], eax
cmp qword [0x1800e3468], 0
je 0x18003fe64
jmp 0x18003fe81
movzx eax, word [0x1800e3478]
cwde
test eax, eax
je 0x18003fe81
movzx eax, byte [rsp + 0x24]
mov ecx, dword [rsp + 0x4c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
movzx eax, byte [rsp + 0x24]
sub eax, 0xee
mov ecx, dword [rsp + 0x44]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
movzx eax, word [0x1800e34a4]
movzx eax, ax
mov ecx, dword [rsp + 0x38]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x38]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x398]
imul eax, eax, 0x9919
mov ecx, dword [rsp + 0x39c]
imul ecx, ecx, 0x4f
add eax, ecx
xor eax, 0xbaaeca
mov dword [rsp + 0x3dc], eax
cmp qword [0x1800e3468], 0
je 0x18003fefb
mov eax, 4
imul rax, rax, 0x5b
lea rcx, [0x18093c5d0]
mov edx, dword [rsp + 0x50]
mov dword [rcx + rax], edx
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x78]
add rax, 0x30
mov qword [0x1800e3490], rax
movsx rax, byte [0x1800e341e]
imul rax, qword [rsp + 0x50]
movsx rcx, word [rsp + 0x34]
sub rax, rcx
mov ecx, dword [0x1800e349c]
mov edx, dword [rsp + 0x40]
add ecx, edx
movzx edx, byte [rsp + 0x20]
not edx
add ecx, edx
mov ecx, ecx
sub rax, rcx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x108]
add eax, 0x6a26
mov dword [rsp + 0x3a0], eax
movzx eax, byte [0x1800e340f]
test eax, eax
jne 0x18003ff78
mov dword [rsp + 0x240], 1
jmp 0x18003ff83
mov dword [rsp + 0x240], 0
movsx eax, word [rsp + 0x28]
cmp eax, dword [rsp + 0x240]
jle 0x18003ffa2
movzx eax, word [rsp + 0x30]
cwde
mov ecx, dword [rsp + 0x48]
xor eax, ecx
mov word [rsp + 0x30], ax
mov eax, dword [rsp + 0x108]
add eax, 0x76ba
mov dword [rsp + 0x3a4], eax
mov eax, dword [rsp + 0x108]
add eax, 0x2e
mov dword [rsp + 0x57c], eax
mov rax, qword [rsp + 0x60]
mov ecx, 0xaf3137ed
add rax, rcx
mov dword [rsp + 0x40], eax
movsx eax, word [0x1800e34a8]
cmp dword [rsp + 0x44], eax
jae 0x18003fff1
mov dword [rsp + 0x248], 1
jmp 0x18003fffc
mov dword [rsp + 0x248], 0
mov eax, dword [0x1800e349c]
movzx ecx, byte [rsp + 0x24]
cmp eax, ecx
jae 0x180040018
mov dword [rsp + 0x244], 1
jmp 0x180040023
mov dword [rsp + 0x244], 0
mov eax, dword [rsp + 0x244]
cmp dword [rsp + 0x248], eax
je 0x180040040
mov dword [rsp + 0x254], 1
jmp 0x18004004b
mov dword [rsp + 0x254], 0
mov rax, qword [0x1800e34c0]
test rax, rax
jne 0x18004006f
movzx eax, byte [0x1800e340f]
test eax, eax
jne 0x18004006f
mov dword [rsp + 0x250], 0
jmp 0x18004007a
mov dword [rsp + 0x250], 1
mov eax, dword [rsp + 0x3c]
cmp eax, 0xa893
jne 0x180040092
mov dword [rsp + 0x24c], 1
jmp 0x18004009d
mov dword [rsp + 0x24c], 0
mov eax, dword [rsp + 0x24c]
cmp dword [rsp + 0x250], eax
jge 0x1800400ba
mov dword [rsp + 0x258], 1
jmp 0x1800400c5
mov dword [rsp + 0x258], 0
mov eax, dword [rsp + 0x254]
imul eax, dword [rsp + 0x258]
mov eax, dword [rsp + 0x3a0]
mov ecx, dword [rsp + 0x3a4]
add eax, ecx
xor eax, 0xc42f
mov ecx, 0x2635
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x3fc], eax
movsx eax, byte [0x1800e33ee]
movsx ecx, byte [0x1800e340e]
cmp eax, ecx
jge 0x180040118
mov dword [rsp + 0x260], 1
jmp 0x180040123
mov dword [rsp + 0x260], 0
movsx eax, byte [0x1800e33ee]
cmp eax, 8
jge 0x18004013c
mov dword [rsp + 0x25c], 1
jmp 0x180040147
mov dword [rsp + 0x25c], 0
mov eax, dword [rsp + 0x25c]
cmp dword [rsp + 0x260], eax
jne 0x1800401be
mov rax, qword [rsp + 0x80]
movzx ecx, byte [0x1800e33ae]
movzx ecx, cl
cmp rax, rcx
jne 0x180040183
movsx eax, byte [0x1800e344a]
sub eax, 0xc8
mov word [0x1800e34a8], ax
jmp 0x1800401be
cmp qword [0x1800e34d0], 0
je 0x1800401be
movsx eax, byte [0x1800e344a]
movzx ecx, byte [0x1800e33d7]
movsx ecx, cl
sub eax, ecx
movsx ecx, byte [0x1800e344a]
add ecx, eax
mov eax, ecx
mov byte [0x1800e344a], al
mov rax, qword [rsp + 0x50]
shl rax, 5
mov byte [rsp + 0x22], al
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0x10c], eax
movzx eax, word [rsp + 0x30]
cwde
mov eax, dword [rsp + 0x10c]
add eax, 0x75
mov dword [rsp + 0x580], eax
mov eax, dword [0x1800e3498]
mov ecx, dword [0x1800e3438]
lea eax, [rcx + rax + 0x155]
mov dword [0x1800e3438], eax
mov eax, dword [rsp + 0x10c]
add eax, 0xc106
mov dword [rsp + 0x3a8], eax
mov eax, dword [rsp + 0x10c]
add eax, 0x3a
mov dword [rsp + 0x584], eax
mov eax, dword [rsp + 0x3a8]
add eax, 0xffff418a
mov ecx, dword [rsp + 0x3ac]
add ecx, 0x359
imul ecx, ecx, 0
sub eax, ecx
mov dword [rsp + 0x400], eax
mov rax, qword [rsp + 0x6b0]
mov qword [rsp + 0x98], rax
cmp qword [rsp + 0x58], 0
jne 0x180040269
mov dword [rsp + 0x264], 1
jmp 0x180040274
mov dword [rsp + 0x264], 0
movzx eax, word [rsp + 0x2c]
test eax, eax
jne 0x18004028a
mov dword [rsp + 0x268], 1
jmp 0x180040295
mov dword [rsp + 0x268], 0
movzx eax, word [0x1800e344c]
mov ecx, dword [rsp + 0x3c]
not ecx
and eax, ecx
mov ecx, dword [rsp + 0x264]
sub ecx, eax
mov eax, ecx
movsx ecx, word [0x1800e34a8]
not ecx
mov edx, dword [0x1800e3498]
mov edi, dword [rsp + 0x268]
sub edi, edx
mov edx, edi
xor ecx, edx
sub eax, ecx
not eax
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x458], 0
movzx eax, word [0x1800e33ec]
movzx eax, ax
and eax, 0xb44a626b
mov eax, eax
mov qword [0x1800e3460], rax
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0x368], 0
mov qword [rsp + 0x360], 0
cmp qword [rsp + 0x50], 0
je 0x180040333
movsx eax, byte [0x1800e341e]
mov dword [rsp + 0x26c], eax
jmp 0x180040340
mov eax, dword [0x1800e3438]
mov dword [rsp + 0x26c], eax
mov eax, dword [rsp + 0x26c]
mov dword [rsp + 0x4c], eax
movzx eax, word [0x1800e343c]
cwde
movzx ecx, byte [0x1800e343e]
movzx ecx, cl
imul eax, ecx
movzx ecx, word [0x1800e343c]
movsx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x1800e343c], ax
mov dword [rsp + 0xa8], 0
cmp dword [rsp + 0x4c], 0
je 0x1800403e5
movzx eax, word [0x1800e3448]
movzx eax, ax
test eax, eax
je 0x1800403a2
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x270], eax
jmp 0x1800403b3
movzx eax, word [0x1800e34a0]
movzx eax, ax
mov dword [rsp + 0x270], eax
movzx eax, byte [rsp + 0x270]
mov byte [rsp + 0x25], al
movzx eax, word [rsp + 0x30]
cwde
movzx ecx, byte [0x1800e33d6]
movzx ecx, cl
imul eax, ecx
movzx ecx, word [rsp + 0x30]
movsx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x30], ax
jmp 0x1800403ee
mov qword [rsp + 0x60], 0xc
mov qword [rsp + 0x4d8], 0
mov qword [rsp + 0x4e0], 0
mov qword [rsp + 0x160], 0
cmp qword [rsp + 0x6b0], 0
jne 0x1800409f7
movsxd rax, dword [rsp + 0x38]
movabs rcx, 0x76af5dc80bf20
xor rax, rcx
mov dword [rsp + 0x3c], eax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0x110], eax
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x18004048f
mov byte [rsp + 0x20], 0
mov rax, qword [0x1800e34c8]
shl rax, 4
mov word [0x1800e34ac], ax
movzx eax, byte [rsp + 0x20]
mov byte [rsp + 0x3b0], al
cmp byte [rsp + 0x3b0], 0
je 0x18004047d
jmp 0x18004048f
mov rax, qword [rsp + 0x80]
xor rax, 0xe5d2
mov byte [rsp + 0x22], al
mov eax, dword [rsp + 0x110]
add eax, 0x3e
mov dword [rsp + 0x588], eax
mov eax, dword [rsp + 0x110]
add eax, 0xb514
mov dword [rsp + 0x58c], eax
movsx eax, byte [0x1800e33ee]
movzx ecx, word [rsp + 0x2c]
cmp eax, ecx
jg 0x1800404d0
mov dword [rsp + 0x278], 1
jmp 0x1800404db
mov dword [rsp + 0x278], 0
movsx eax, byte [0x1800e33ee]
cmp eax, 0x56
jg 0x1800404f4
mov dword [rsp + 0x274], 1
jmp 0x1800404ff
mov dword [rsp + 0x274], 0
mov eax, dword [rsp + 0x274]
cmp dword [rsp + 0x278], eax
je 0x180040514
jmp 0x1800405a4
mov eax, dword [0x1800e3498]
not eax
cmp eax, 0x8c62
jne 0x180040530
mov dword [rsp + 0x27c], 1
jmp 0x18004053b
mov dword [rsp + 0x27c], 0
movzx eax, byte [0x1800e33d6]
movzx eax, al
not eax
movzx ecx, byte [rsp + 0x22]
or eax, ecx
cmp dword [rsp + 0x27c], eax
je 0x180040565
mov eax, 1
mov word [0x1800e3450], ax
jmp 0x1800405a4
mov eax, dword [rsp + 0x48]
mov eax, eax
mov ecx, dword [rsp + 0x40]
mov ecx, ecx
mov rdx, qword [rsp + 0x60]
imul rcx, rdx
cmp rax, rcx
jb 0x1800405a4
mov rax, qword [0x1800e3480]
add rax, 0x4b73
mov qword [rsp + 0x78], rax
mov rax, qword [0x1800e3428]
mov ecx, 0xebcdda02
sub rax, rcx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x110]
add eax, 0x92
mov dword [rsp + 0x114], eax
lea rax, [rsp + 0x630]
lea rcx, str.FindResourceExW
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x630]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x1800e3478], ax
mov rax, qword [rsp + 0x78]
movzx ecx, byte [0x1800e341f]
cmp rax, rcx
je 0x180040606
mov dword [rsp + 0x284], 1
jmp 0x180040611
mov dword [rsp + 0x284], 0
mov rax, qword [rsp + 0x78]
cmp rax, 9
je 0x180040629
mov dword [rsp + 0x280], 1
jmp 0x180040634
mov dword [rsp + 0x280], 0
mov eax, dword [rsp + 0x280]
cmp dword [rsp + 0x284], eax
jg 0x180040685
cmp qword [rsp + 0x58], 0
je 0x18004065a
movzx eax, word [rsp + 0x2c]
mov dword [rsp + 0x288], eax
jmp 0x18004066b
movzx eax, byte [0x1800e343e]
movzx eax, al
mov dword [rsp + 0x288], eax
mov eax, dword [rsp + 0x288]
mov dword [0x1800e349c], eax
movzx eax, byte [0x1807b5d30]
mov byte [rsp + 0x24], al
jmp 0x1800406c9
movzx eax, byte [rsp + 0x20]
mov ecx, dword [0x1800e3498]
cmp eax, ecx
jle 0x1800406c9
movzx eax, byte [rsp + 0x23]
movzx eax, al
mov ecx, dword [rsp + 0x40]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x1800406c9
mov rax, qword [0x1800e3458]
sub rax, 0x714a
movzx ecx, byte [rsp + 0x22]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x22], al
mov byte [rsp + 0x21], 0x29
mov eax, dword [rsp + 0x114]
mov ecx, 0x8c
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x114]
mov edx, dword [rsp + 0x114]
add ecx, edx
add eax, ecx
mov ecx, 0x11e
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x3c4], eax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0x11c], eax
movzx eax, byte [0x1800e340f]
test eax, eax
je 0x180040718
jmp 0x1800407b6
movzx eax, byte [0x1800e33d7]
movsx rax, al
cmp rax, qword [0x1800e3460]
jge 0x180040739
mov dword [rsp + 0x28c], 1
jmp 0x180040744
mov dword [rsp + 0x28c], 0
mov eax, dword [rsp + 0x28c]
not eax
test eax, eax
je 0x1800407b6
mov eax, dword [rsp + 0x48]
test eax, eax
jne 0x180040767
mov qword [rsp + 0x4d0], 1
jmp 0x180040773
mov qword [rsp + 0x4d0], 0
mov rax, qword [rsp + 0x4d0]
mov rcx, qword [0x1800e3488]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
movzx eax, word [0x1800e343c]
cwde
movzx ecx, word [0x1800e343c]
movsx ecx, cx
add eax, ecx
movzx ecx, word [0x1800e343c]
movsx ecx, cx
and ecx, eax
mov eax, ecx
mov word [0x1800e343c], ax
mov eax, dword [rsp + 0x3b4]
mov ecx, dword [rsp + 0x11c]
add eax, ecx
mov dword [rsp + 0x29c], eax
movsx rax, byte [0x1800e340e]
mov rcx, qword [rsp + 0x50]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x50]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x3b8]
mov ecx, dword [rsp + 0x11c]
add eax, ecx
mov dword [rsp + 0x3c0], eax
movzx eax, byte [rsp + 0x22]
or rax, qword [rsp + 0x50]
test rax, rax
jne 0x180040824
mov dword [rsp + 0x290], 1
jmp 0x18004082f
mov dword [rsp + 0x290], 0
movzx eax, byte [rsp + 0x21]
movsx eax, al
cmp eax, dword [rsp + 0x290]
je 0x18004084d
mov dword [rsp + 0x298], 1
jmp 0x180040858
mov dword [rsp + 0x298], 0
movabs rax, 0xfff407ae6661ed23
cmp qword [0x1800e34d0], rax
jne 0x180040878
mov dword [rsp + 0x294], 1
jmp 0x180040883
mov dword [rsp + 0x294], 0
mov eax, dword [rsp + 0x294]
cmp dword [rsp + 0x298], eax
jl 0x1800409b7
mov eax, 3
mov word [0x1800e343c], ax
movsx rax, word [0x1800e34ac]
mov rcx, qword [0x1800e3428]
xor rcx, rax
mov rax, rcx
movzx ecx, byte [0x1800e33d7]
movsx rcx, cl
mov rdx, qword [rsp + 0x58]
add rdx, rcx
mov rcx, rdx
sub rax, rcx
movzx ecx, byte [rsp + 0x25]
movabs rdx, 0xfff7efccde2fc5ad
xor rcx, rdx
movsx rdx, word [0x1800e34a8]
imul rcx, rdx
not rcx
sub rax, rcx
mov byte [rsp + 0x23], al
mov eax, dword [rsp + 0x3c]
mov eax, eax
movabs rcx, 0x8d03cbfd8e870
add rax, rcx
mov byte [rsp + 0x23], al
movzx eax, word [0x1800e343c]
cwde
mov dword [rsp + 0x118], eax
cmp dword [rsp + 0x118], 0
je 0x18004093f
cmp dword [rsp + 0x118], 2
je 0x180040971
cmp dword [rsp + 0x118], 3
je 0x180040981
jmp 0x1800409b7
mov dword [0x1800e349c], 0x88
movzx eax, byte [rsp + 0x21]
movsx eax, al
movzx ecx, word [0x1800e34a0]
movzx ecx, cx
add eax, ecx
movzx ecx, byte [rsp + 0x21]
movsx ecx, cl
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x21], al
jmp 0x1800409b7
movzx eax, word [0x1800e341c]
sar eax, 4
mov byte [rsp + 0x20], al
jmp 0x1800409b7
movsx eax, word [0x1800e34ac]
movzx ecx, word [0x1800e343c]
movsx ecx, cx
imul ecx, ecx, 0xffff1153
sub eax, ecx
mov byte [0x1800e33af], al
mov eax, dword [rsp + 0x3c]
mov eax, eax
movabs rcx, 0xd2f3512a3d31d
add rax, rcx
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0x3bc]
mov ecx, dword [rsp + 0x11c]
add eax, ecx
mov dword [rsp + 0x590], eax
mov eax, dword [rsp + 0x29c]
mov ecx, dword [rsp + 0x29c]
add eax, ecx
mov ecx, dword [rsp + 0x3c0]
cmp eax, ecx
je 0x1800409f7
mov eax, dword [rsp + 0x3c4]
mov eax, eax
jmp 0x180042ab8
mov byte [rsp + 0x22], 2
movabs rax, 0x14caa5f338a51
mov qword [rsp + 0x50], rax
movsxd rax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x80]
add rax, rcx
movsxd rcx, dword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x38], eax
movzx eax, byte [rsp + 0x22]
mov byte [rsp + 0x120], al
cmp byte [rsp + 0x120], 0
je 0x180040a56
cmp byte [rsp + 0x120], 1
je 0x180040a67
cmp byte [rsp + 0x120], 2
je 0x180040a8b
jmp 0x180040ab2
mov rax, qword [0x1800e3490]
sub rax, 0x50
mov dword [rsp + 0x3c], eax
jmp 0x180040ab2
movzx eax, word [rsp + 0x2c]
mov ecx, dword [0x1800e3438]
xor ecx, eax
mov eax, ecx
mov dword [0x1800e3438], eax
movzx eax, byte [0x1800e33d7]
mov byte [0x1800e344a], al
jmp 0x180040ab2
movzx eax, word [0x1800e33ec]
movzx eax, ax
sub eax, 0x3f72bb7c
mov dword [0x1800e3498], eax
movsx eax, word [0x1800e34a8]
add eax, 0xd8ab192c
mov byte [0x1800e33ae], al
mov rax, qword [rsp + 0x98]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x4d8], rax
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x4d8]
lea rax, [rcx + rax + 0x88]
mov qword [rsp + 0x4e0], rax
mov rax, qword [rsp + 0x4e0]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x160]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x80], 0
mov eax, dword [0x1807b5d30]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x5c8], rax
cmp qword [rsp + 0x5c8], 0
je 0x180040b6a
jmp 0x180040b7e
movzx eax, byte [0x1800e33d7]
movsx eax, al
imul eax, eax, 0x9a
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x160]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x368], rax
mov rax, qword [rsp + 0x160]
mov eax, dword [rax + 0x24]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x360], rax
mov eax, 0xffff0000
mov rcx, qword [rsp + 0x6b8]
and rcx, rax
mov rax, rcx
test rax, rax
jne 0x180040d7a
mov eax, dword [0x1807b5d30]
mov qword [0x1800e3420], rax
movzx eax, byte [rsp + 0x23]
movzx eax, al
add eax, 0xdf
mov dword [0x1800e3498], eax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0x124], eax
mov eax, dword [rsp + 0x3c8]
mov ecx, dword [rsp + 0x124]
add eax, ecx
mov dword [rsp + 0x3d4], eax
mov eax, dword [rsp + 0x3cc]
mov ecx, dword [rsp + 0x124]
add eax, ecx
mov dword [rsp + 0x594], eax
mov eax, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
jb 0x180040c47
jmp 0x180040cc6
movsx eax, word [0x1800e34ac]
test eax, eax
jne 0x180040c7c
movsx eax, word [rsp + 0x28]
movzx ecx, word [0x1800e344c]
sub eax, ecx
movsx ecx, word [rsp + 0x28]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x28], ax
movzx eax, word [0x1807b5d30]
mov word [rsp + 0x30], ax
jmp 0x180040cc6
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
ja 0x180040c98
mov dword [rsp + 0x2a0], 1
jmp 0x180040ca3
mov dword [rsp + 0x2a0], 0
mov eax, dword [rsp + 0x2a0]
not eax
test eax, eax
je 0x180040cc6
movsx rax, byte [0x1800e341e]
mov rcx, qword [rsp + 0x60]
add rax, rcx
mov byte [0x1800e341e], al
mov eax, dword [rsp + 0x3d0]
mov ecx, dword [rsp + 0x124]
add eax, ecx
mov dword [rsp + 0x598], eax
mov eax, dword [rsp + 0x3d4]
mov ecx, dword [rsp + 0x3d8]
mov edx, dword [rsp + 0x3dc]
or ecx, edx
mov edx, dword [rsp + 0x3e0]
add edx, ecx
mov ecx, edx
cmp eax, ecx
je 0x180040d75
movzx eax, byte [rsp + 0x22]
sub eax, 0x26
mov word [0x1800e3454], ax
mov eax, 0xce
mov word [0x1800e34b4], ax
mov byte [0x1800e344a], 0xe9
mov rax, qword [rsp + 0x6b8]
and rax, 0xffff
mov rcx, qword [rsp + 0x160]
mov ecx, dword [rcx + 0x10]
sub rax, rcx
mov rcx, qword [rsp + 0xc8]
lea rax, [rcx + rax*4]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x458], rax
jmp 0x180042a8a
movzx eax, word [0x1800e3450]
test eax, eax
jne 0x180040d92
mov dword [rsp + 0x2a4], 1
jmp 0x180040d9d
mov dword [rsp + 0x2a4], 0
mov eax, dword [0x1800e3434]
add eax, dword [rsp + 0x2a4]
cdqe
mov rcx, qword [rsp + 0x68]
imul rcx, rcx, 0x1150d8ed
not rcx
sub rax, rcx
mov qword [0x1800e3460], rax
movzx eax, word [0x1800e33ec]
movzx eax, ax
sub eax, 0xea0d
mov dword [0x1800e3498], eax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0x128], eax
mov eax, dword [rsp + 0x128]
add eax, 0x119
mov dword [rsp + 0x59c], eax
mov eax, dword [rsp + 0x128]
add eax, 0x129
mov dword [rsp + 0x30c], eax
mov eax, dword [rsp + 0x128]
add eax, 0xfb
mov dword [rsp + 0x5a0], eax
movzx eax, byte [rsp + 0x24]
movsx ecx, word [rsp + 0x34]
cmp eax, ecx
jge 0x180040e3b
mov dword [rsp + 0x2ac], 1
jmp 0x180040e46
mov dword [rsp + 0x2ac], 0
movzx eax, byte [rsp + 0x24]
cmp eax, 0x2a
jge 0x180040e5d
mov dword [rsp + 0x2a8], 1
jmp 0x180040e68
mov dword [rsp + 0x2a8], 0
mov eax, dword [rsp + 0x2a8]
cmp dword [rsp + 0x2ac], eax
jle 0x180040e97
mov eax, 0x6c
mov word [0x1800e3478], ax
movzx eax, byte [rsp + 0x20]
add eax, 0xcf
cdqe
mov qword [rsp + 0x50], rax
jmp 0x180040eb4
movabs rax, 0xcc36351c3f772
mov rcx, qword [0x1800e3480]
xor rcx, rax
mov rax, rcx
mov byte [0x1800e341e], al
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0x12c], eax
movzx eax, byte [rsp + 0x21]
movsx rax, al
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rcx
movsx ecx, word [0x1800e347c]
movsx edx, byte [0x1800e340e]
imul ecx, edx
movsxd rcx, ecx
or rax, rcx
movzx ecx, word [0x1800e34a4]
movzx ecx, cx
not ecx
movsxd rcx, ecx
mov rdx, qword [0x1800e3460]
or rdx, rcx
mov rcx, rdx
add rax, rcx
mov byte [rsp + 0x21], al
mov dword [rsp + 0x40], 0xb07d2024
mov eax, dword [rsp + 0x12c]
add eax, 0x51
mov dword [rsp + 0x5a4], eax
movzx eax, byte [0x1800e33eb]
cmp dword [rsp + 0x44], eax
jne 0x180040f37
jmp 0x180040f44
mov rax, qword [rsp + 0x78]
dec rax
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x12c]
add eax, 0xa37c
mov dword [rsp + 0x3e8], eax
movzx eax, byte [rsp + 0x23]
movzx eax, al
test eax, eax
je 0x180040fe8
movzx eax, word [0x1800e33ec]
movzx eax, ax
cmp eax, dword [rsp + 0x38]
jl 0x180040f84
mov dword [rsp + 0x2b4], 1
jmp 0x180040f8f
mov dword [rsp + 0x2b4], 0
movzx eax, word [0x1800e33ec]
movzx eax, ax
cmp eax, 0x32
jl 0x180040fab
mov dword [rsp + 0x2b0], 1
jmp 0x180040fb6
mov dword [rsp + 0x2b0], 0
mov eax, dword [rsp + 0x2b0]
cmp dword [rsp + 0x2b4], eax
jle 0x180040fe8
mov eax, dword [0x1800e3498]
cdqe
add rax, qword [rsp + 0x50]
mov ecx, dword [0x1800e3498]
movsxd rcx, ecx
and rcx, rax
mov rax, rcx
mov dword [0x1800e3498], eax
mov eax, dword [rsp + 0x12c]
add eax, 0xe2
mov dword [rsp + 0x3e4], eax
lea rax, [rsp + 0x5d8]
lea rcx, [0x1800b8a78]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xa
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x5d8]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [rsp + 0x25], al
mov eax, dword [rsp + 0x3e4]
mov ecx, dword [rsp + 0x3e8]
or eax, ecx
xor eax, 0xa236
mov dword [rsp + 0x40c], eax
mov eax, dword [0x1800e34b8]
test eax, eax
jne 0x180041063
mov eax, dword [0x1800e3434]
cdqe
mov rcx, qword [0x1800e34c0]
cmp rax, rcx
jbe 0x1800410ac
mov rax, qword [rsp + 0x80]
test rax, rax
jne 0x180041078
cmp qword [rsp + 0x58], 0
jne 0x1800410ac
mov eax, dword [rsp + 0x3c]
test eax, eax
jne 0x1800410ac
mov rax, qword [0x1800e34c0]
test rax, rax
je 0x1800410a7
movzx eax, word [rsp + 0x30]
cwde
mov dword [rsp + 0x44], eax
movzx eax, byte [rsp + 0x20]
sub eax, 0x8832
cdqe
mov qword [rsp + 0x50], rax
jmp 0x180041182
movzx eax, byte [rsp + 0x23]
movzx eax, al
test eax, eax
jne 0x1800410c6
mov qword [rsp + 0x4e8], 1
jmp 0x1800410d2
mov qword [rsp + 0x4e8], 0
mov rax, qword [rsp + 0x58]
cmp qword [rsp + 0x4e8], rax
jbe 0x1800410ee
mov dword [rsp + 0x2bc], 1
jmp 0x1800410f9
mov dword [rsp + 0x2bc], 0
mov eax, dword [0x1800e34b8]
test eax, eax
jne 0x180041110
mov dword [rsp + 0x2b8], 1
jmp 0x18004111b
mov dword [rsp + 0x2b8], 0
mov eax, dword [rsp + 0x4c]
not eax
imul eax, dword [rsp + 0x2b8]
mov ecx, dword [rsp + 0x2bc]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x180041155
movzx eax, word [0x1800e3478]
movsx rax, ax
mov rcx, qword [rsp + 0x60]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
jmp 0x180041182
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x180041182
mov qword [rsp + 0x58], 1
mov rax, qword [0x1800e3428]
mov rcx, qword [0x1800e34c8]
imul rcx, rax
mov rax, rcx
mov qword [0x1800e34c8], rax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0x130], eax
mov eax, dword [rsp + 0x130]
add eax, 0x5f
mov dword [rsp + 0x5a8], eax
movzx eax, byte [0x1800e33af]
movzx ecx, word [0x1800e343c]
movsx ecx, cx
cmp eax, ecx
jge 0x1800411c2
mov dword [rsp + 0x2c4], 1
jmp 0x1800411cd
mov dword [rsp + 0x2c4], 0
movzx eax, byte [0x1800e33af]
cmp eax, 0x3a
jge 0x1800411e6
mov dword [rsp + 0x2c0], 1
jmp 0x1800411f1
mov dword [rsp + 0x2c0], 0
mov eax, dword [rsp + 0x2c0]
cmp dword [rsp + 0x2c4], eax
jne 0x180041206
jmp 0x180041294
movzx eax, byte [0x1800e33af]
test eax, eax
je 0x18004122f
movabs rax, 0x7e3bfe500ad44
xor ecx, ecx
cmp rcx, rax
je 0x18004122f
mov dword [rsp + 0x2c8], 0
jmp 0x18004123a
mov dword [rsp + 0x2c8], 1
movzx eax, word [rsp + 0x30]
cwde
xor eax, dword [rsp + 0x2c8]
test eax, eax
je 0x180041294
movzx eax, byte [0x1800e341f]
mov rcx, qword [0x1800e34d0]
imul rcx, rax
mov rax, rcx
sub rax, 0xd4
test rax, rax
jne 0x180041279
mov qword [rsp + 0x4f0], 1
jmp 0x180041285
mov qword [rsp + 0x4f0], 0
mov rax, qword [rsp + 0x4f0]
mov qword [0x1800e3420], rax
mov eax, dword [rsp + 0x130]
add eax, 0xc6
mov dword [rsp + 0x2d0], eax
mov eax, 2
imul rax, rax, 0x1f
lea rcx, [0x180898ba0]
movzx eax, word [rcx + rax]
movzx ecx, word [0x1800e34b4]
movsx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [0x1800e34b4], ax
movzx eax, word [0x1800e33ec]
movzx eax, ax
shl eax, 4
cdqe
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x130]
add eax, 0x92eb
mov dword [rsp + 0x5ac], eax
mov rax, qword [0x1800e3428]
mov rcx, qword [rsp + 0x80]
cmp rax, rcx
jae 0x18004130d
jmp 0x180041366
mov eax, dword [rsp + 0x48]
movsx ecx, byte [0x1800e33ee]
cmp eax, ecx
je 0x180041329
mov dword [rsp + 0x2cc], 1
jmp 0x180041334
mov dword [rsp + 0x2cc], 0
movzx eax, byte [rsp + 0x23]
movzx eax, al
movzx ecx, byte [rsp + 0x20]
xor eax, ecx
add eax, dword [rsp + 0x2cc]
test eax, eax
je 0x180041366
movzx eax, word [0x1800e3448]
movzx eax, ax
movzx ecx, byte [rsp + 0x20]
add eax, ecx
mov word [0x1800e3448], ax
mov eax, dword [rsp + 0x2d0]
mov ecx, dword [rsp + 0x2d0]
or eax, ecx
add eax, 0xffffffde
mov dword [rsp + 0x410], eax
mov rax, qword [0x1800e34d0]
sub rax, 0xc
mov word [0x1800e344c], ax
mov eax, dword [0x1807b5d30]
mov dword [rsp + 0x134], eax
mov eax, dword [rsp + 0x134]
add eax, 0xd952
mov dword [rsp + 0x3f0], eax
mov rax, qword [rsp + 0x60]
test rax, rax
jne 0x1800413c9
mov dword [rsp + 0x2d8], 1
jmp 0x1800413d4
mov dword [rsp + 0x2d8], 0
movzx eax, byte [0x1800e33d7]
movsx eax, al
mov ecx, dword [rsp + 0x38]
imul ecx, eax
mov eax, ecx
test eax, eax
jne 0x1800413f8
mov dword [rsp + 0x2d4], 1
jmp 0x180041403
mov dword [rsp + 0x2d4], 0
mov eax, dword [rsp + 0x2d4]
mov ecx, dword [rsp + 0x2d8]
sub ecx, eax
mov eax, ecx
mov byte [0x1800e341e], al
cmp qword [rsp + 0x50], 0
je 0x180041436
movzx eax, byte [0x1800e33d7]
movsx eax, al
mov dword [rsp + 0x2dc], eax
jmp 0x180041445
movzx eax, byte [rsp + 0x23]
movzx eax, al
mov dword [rsp + 0x2dc], eax
movzx eax, byte [rsp + 0x2dc]
mov byte [rsp + 0x24], al
mov eax, dword [rsp + 0x134]
add eax, 0x5d
mov dword [rsp + 0x3ec], eax
mov rax, qword [rsp + 0x68]
movsx rcx, word [0x1800e347c]
lea rax, [rcx + rax + 0xde9e]
mov word [0x1800e347c], ax
mov eax, dword [rsp + 0x134]
add eax, 0x4e2e
mov dword [rsp + 0x5b0], eax
mov eax, dword [0x1807b5d30]
mov qword [0x1800e34c8], rax
movzx eax, byte [0x1800e341f]
movzx ecx, byte [0x1800e341f]
cmp eax, ecx
jne 0x1800414bd
mov dword [rsp + 0x2e4], 1
jmp 0x1800414c8
mov dword [rsp + 0x2e4], 0
movzx eax, byte [0x1800e341f]
cmp eax, 0x3f
jne 0x1800414e1
mov dword [rsp + 0x2e0], 1
jmp 0x1800414ec
mov dword [rsp + 0x2e0], 0
mov eax, dword [rsp + 0x2e0]
mov eax, dword [rsp + 0x3ec]
mov ecx, dword [rsp + 0x3f0]
xor eax, ecx
xor eax, 0xdae1
mov ecx, dword [rsp + 0x2e8]
mov edx, dword [rsp + 0x2e8]
xor ecx, edx
mov edx, dword [rsp + 0x3f4]
mov edi, dword [rsp + 0x3f8]
imul edx, edi
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x414], eax
mov eax, 1
mov word [rsp + 0x30], ax
mov byte [0x1800e343f], 2
movzx eax, word [rsp + 0x30]
cwde
mov dword [rsp + 0x2ec], eax
cmp dword [rsp + 0x2ec], 0
je 0x180041569
cmp dword [rsp + 0x2ec], 1
je 0x180041590
movzx eax, byte [0x1800e33af]
mov ecx, dword [rsp + 0x44]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x44]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
movzx eax, word [rsp + 0x28]
mov word [rsp + 0x34], ax
jmp 0x1800415d1
movzx eax, word [rsp + 0x30]
movsx rax, ax
sub rax, qword [0x1800e3460]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x50]
sub rax, 0x8c33
mov qword [0x1800e3470], rax
mov rax, qword [rsp + 0x458]
add rsp, 0x698
pop rdi
pop rsi
ret