Function at 0x1800b1a50
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x828
mov eax, 0x3278
mov word [rsp + 0x4c0], ax
movzx eax, byte [0x180146c5f]
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x78], 0x19b1
mov byte [rsp + 0x43], 0x5c
mov qword [rsp + 0x98], 0xa0
movzx eax, byte [0x180146c5e]
mov qword [rsp + 0x90], rax
movzx eax, byte [0x180146c5f]
mov byte [rsp + 0x40], al
mov dword [rsp + 0x68], 0xa6
mov eax, 0x199
mov word [rsp + 0x50], ax
mov eax, 0xab
mov word [rsp + 0x5c], ax
mov dword [rsp + 0x74], 0x6d24
mov eax, 0xc496
mov word [rsp + 0x48], ax
mov dword [rsp + 0x6c], 0x9c
mov eax, dword [0x180146d38]
mov dword [rsp + 0x70], eax
mov byte [rsp + 0x41], 0x9a
mov eax, 0xffff8fd7
mov word [rsp + 0x4c], ax
movsx ax, byte [0x180146caf]
mov word [rsp + 0x60], ax
movzx eax, byte [0x180146c03]
movzx eax, al
mov qword [rsp + 0x88], rax
movzx eax, byte [0x180146c87]
mov byte [rsp + 0x42], al
mov eax, 0xcc
mov word [rsp + 0x54], ax
mov dword [rsp + 0x64], 0x7b56dbe2
movzx eax, byte [0x180146d60]
mov byte [rsp + 0x44], al
mov eax, 0xd0
mov word [rsp + 0x58], ax
movabs rax, 0x8c7ea32f88259
mov qword [rsp + 0x628], rax
mov qword [rsp + 0x630], 0x2780
movzx eax, word [0x180146d0c]
movzx eax, ax
mov dword [rsp + 0x588], eax
mov qword [rsp + 0x638], 0xefd8
mov qword [rsp + 0x640], 0x3210e6cf
movzx eax, word [0x180146d10]
mov word [rsp + 0x4bc], ax
mov qword [rsp + 0x648], 0xfe2
movzx eax, byte [0x180146c86]
mov byte [rsp + 0xcc], al
mov qword [rsp + 0x650], 0x7ed7
movzx eax, word [0x180146d58]
mov byte [rsp + 0xce], al
movzx eax, word [0x180146d60]
mov dword [rsp + 0x58c], eax
movzx eax, word [0x180146d58]
mov word [rsp + 0x4b8], ax
mov dword [rsp + 0x590], 0x1c
movzx eax, byte [0x180146c2e]
mov byte [rsp + 0xcd], al
mov eax, 0x8910
mov word [rsp + 0x4b4], ax
movzx eax, byte [0x180146c5e]
mov word [rsp + 0x484], ax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xd8], eax
movsx eax, byte [rsp + 0x43]
movsx ecx, byte [rsp + 0x43]
mov dword [rsp + 0x30], 0x38
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x70]
xor r8d, r8d
mov edx, dword [0x180146c44]
call fcn.180094b10
cdqe
mov qword [rsp + 0x98], rax
movzx eax, byte [0x180146c43]
movabs rcx, 0x85e2bf08963f7
cmp rax, rcx
je 0x1800b1c93
jmp 0x1800b1cae
mov rax, qword [rsp + 0x88]
movzx ecx, word [rsp + 0x4c]
movsx rcx, cx
lea rax, [rcx + rax + 0x77]
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0xd8]
add eax, 0x3d5
mov dword [rsp + 0x414], eax
xor r9d, r9d
mov r8d, dword [0x180146d00]
xor edx, edx
mov ecx, 0x5f
call fcn.180094760
mov word [0x180146d30], ax
movsx eax, word [0x180146d30]
test eax, eax
jne 0x1800b1d34
movsx eax, word [0x180146d5c]
movzx ecx, byte [rsp + 0x41]
movsx ecx, cl
sub eax, ecx
mov word [0x180146d5c], ax
cmp dword [rsp + 0x64], 0
je 0x1800b1d16
movsx eax, byte [rsp + 0x43]
mov dword [rsp + 0x150], eax
jmp 0x1800b1d23
movzx eax, word [rsp + 0x4c]
cwde
mov dword [rsp + 0x150], eax
movzx eax, word [rsp + 0x150]
mov word [0x180146d60], ax
jmp 0x1800b1d80
movzx eax, byte [rsp + 0x41]
movsx rax, al
mov rcx, qword [0x180146d20]
sub rax, rcx
movzx ecx, byte [rsp + 0x41]
movsx rcx, cl
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x41], al
movzx eax, word [rsp + 0x48]
movzx eax, ax
movzx ecx, byte [0x180146bef]
movzx ecx, cl
imul eax, ecx
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0xd8]
add eax, 0x3c6
mov dword [rsp + 0xa8], eax
movzx eax, word [rsp + 0x48]
movzx eax, ax
sub eax, 0x359c
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0xd8]
add eax, 0x117
mov dword [rsp + 0x594], eax
movzx eax, word [0x180146d58]
movzx eax, ax
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xdc], eax
mov rax, qword [0x180146d18]
shl rax, 5
mov byte [0x180146c2f], al
mov eax, dword [rsp + 0xdc]
add eax, 0x276
mov dword [rsp + 0x598], eax
mov eax, 1
imul rax, rax, 0xa7
lea rcx, [0x181002280]
movzx edx, byte [0x180146c86]
mov byte [rcx + rax], dl
movzx eax, word [rsp + 0x50]
movsx rax, ax
movabs rcx, 0x998d783c6c558
add rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0xdc]
add eax, 0xf
mov dword [rsp + 0x59c], eax
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x1800b1e8d
mov eax, 4
imul rax, rax, 0x5731
lea rcx, [0x1811c2bc0]
movzx eax, word [rcx + rax]
mov word [rsp + 0x50], ax
jmp 0x1800b1eba
movzx eax, byte [0x180146c42]
movsx rax, al
mov rcx, qword [rsp + 0x88]
add rax, rcx
movzx ecx, byte [0x180146c42]
movsx rcx, cl
add rcx, rax
mov rax, rcx
mov byte [0x180146c42], al
mov eax, dword [rsp + 0xdc]
add eax, 0x3f4
mov dword [rsp + 0x108], eax
movzx eax, word [rsp + 0x4c]
cwde
shl eax, 6
mov byte [rsp + 0x43], al
mov eax, dword [0x181001ff0]
mov qword [rsp + 0x88], rax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xe0], eax
movzx eax, word [rsp + 0x4c]
cwde
test eax, eax
je 0x1800b1f67
mov eax, dword [rsp + 0x74]
add eax, 0x35bd
mov eax, eax
mov rcx, qword [0x180146d18]
add rcx, rax
mov rax, rcx
mov qword [0x180146d18], rax
movsx eax, byte [rsp + 0x43]
not eax
sub eax, dword [0x180146d2c]
movzx ecx, word [rsp + 0x50]
movsx ecx, cx
imul ecx, ecx, 0xdd5dc13a
and eax, ecx
movsx ecx, byte [rsp + 0x42]
not ecx
movsx edx, byte [rsp + 0x43]
imul ecx, edx
movzx edx, byte [rsp + 0x44]
movzx edx, dl
add ecx, edx
not ecx
xor eax, ecx
mov eax, eax
mov qword [rsp + 0x90], rax
jmp 0x1800b205e
mov eax, dword [0x180146d64]
test eax, eax
jne 0x1800b1fb3
mov rax, qword [rsp + 0x98]
not rax
test rax, rax
je 0x1800b1f9b
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1800b1f9b
mov dword [rsp + 0x154], 1
jmp 0x1800b1fa6
mov dword [rsp + 0x154], 0
mov eax, dword [rsp + 0x154]
not eax
test eax, eax
je 0x1800b1fd4
mov eax, dword [0x180146d64]
mov eax, eax
movabs rcx, 0x1a260964dfb8d
add rax, rcx
mov qword [0x180146cf8], rax
jmp 0x1800b205e
movsx eax, word [rsp + 0x54]
mov ecx, dword [rsp + 0x74]
cmp eax, ecx
jae 0x1800b2025
movsx eax, word [0x180146d10]
movsx ecx, byte [rsp + 0x42]
sub eax, ecx
movsx ecx, word [0x180146d10]
or ecx, eax
mov eax, ecx
mov word [0x180146d10], ax
movsx eax, word [0x180146d30]
movzx ecx, byte [0x180146c43]
sub eax, ecx
movsx ecx, word [0x180146d30]
sub ecx, eax
mov eax, ecx
mov word [0x180146d30], ax
jmp 0x1800b205e
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x1800b205e
movzx eax, byte [0x180146c03]
movzx eax, al
movzx ecx, word [rsp + 0x60]
movzx ecx, cx
sub eax, ecx
mov byte [0x180146c03], al
movzx eax, byte [0x180146c41]
movzx eax, al
add eax, 0x4b
cdqe
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0xe0]
add eax, 0x31b
mov dword [rsp + 0x5a0], eax
movzx eax, word [rsp + 0x4c]
cwde
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 0x93
mov dword [rsp + 0x20], 0xd9
mov r9d, dword [rsp + 0x64]
mov r8d, dword [0x180146cf0]
mov edx, 0xb4
mov ecx, 0x61
call fcn.180094b10
mov byte [0x180146c2e], al
mov rax, qword [0x180146cf8]
test rax, rax
jne 0x1800b20c5
mov dword [rsp + 0x158], 1
jmp 0x1800b20d0
mov dword [rsp + 0x158], 0
mov eax, dword [0x180146d14]
cmp dword [rsp + 0x158], eax
jne 0x1800b20ec
mov dword [rsp + 0x15c], 1
jmp 0x1800b20f7
mov dword [rsp + 0x15c], 0
movzx eax, byte [0x180146c42]
movsx eax, al
cmp dword [rsp + 0x15c], eax
jg 0x1800b2129
movzx eax, byte [0x180146bc7]
movsx eax, al
not eax
movsx ecx, word [0x180146d3c]
not ecx
add eax, ecx
test eax, eax
je 0x1800b21b9
movsx eax, word [rsp + 0x54]
movzx ecx, word [rsp + 0x4c]
movsx ecx, cx
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, ecx
xor edx, edx
xor ecx, ecx
call fcn.180094460
mov word [0x180146d10], ax
movsx eax, word [0x180146d10]
test eax, eax
je 0x1800b2178
mov rax, qword [rsp + 0x80]
add rax, 0xb6
mov word [rsp + 0x58], ax
jmp 0x1800b21b7
movzx eax, word [rsp + 0x58]
test eax, eax
je 0x1800b21b7
movzx eax, word [0x180146d58]
movzx eax, ax
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [0x180146d64]
mov ecx, dword [0x180146d2c]
add ecx, eax
mov eax, ecx
mov dword [0x180146d2c], eax
jmp 0x1800b2201
movzx eax, byte [0x180146bee]
movsx eax, al
test eax, eax
jne 0x1800b21dd
xor eax, eax
cmp eax, 0xea
jne 0x1800b21dd
mov dword [rsp + 0x160], 0
jmp 0x1800b21e8
mov dword [rsp + 0x160], 1
mov eax, dword [rsp + 0x160]
xor eax, 1
test eax, eax
je 0x1800b2201
mov eax, dword [rsp + 0x64]
shl eax, 7
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0xe0]
add eax, 0x1ed
mov dword [rsp + 0xbc], eax
movzx eax, byte [0x180146c86]
movsx ecx, byte [rsp + 0x42]
cmp eax, ecx
je 0x1800b2231
mov dword [rsp + 0x164], 1
jmp 0x1800b223c
mov dword [rsp + 0x164], 0
cmp dword [rsp + 0x164], 0
jge 0x1800b22ae
movzx eax, byte [0x180146c86]
test eax, eax
je 0x1800b2288
movzx eax, byte [0x180146c5e]
test eax, eax
je 0x1800b226b
movzx eax, word [rsp + 0x58]
mov word [rsp + 0xb0], ax
jmp 0x1800b2278
movzx eax, word [rsp + 0x60]
mov word [rsp + 0xb0], ax
movzx eax, byte [rsp + 0xb0]
mov byte [0x180146c43], al
jmp 0x1800b22ae
mov eax, dword [0x180146d38]
add eax, 0x41807363
mov eax, eax
mov qword [rsp + 0x90], rax
movzx eax, word [rsp + 0x60]
movzx eax, ax
sub eax, 0x3f
mov byte [0x180146bee], al
mov eax, dword [rsp + 0xe0]
add eax, 0x1be
mov dword [rsp + 0x5a4], eax
movzx eax, word [rsp + 0x58]
movzx ecx, byte [0x180146c2e]
movsx edx, byte [rsp + 0x43]
movzx r8d, byte [0x180146c5e]
mov dword [rsp + 0x4c4], r8d
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], 0x7e
mov r9d, 0xaa
mov r8d, edx
mov eax, dword [rsp + 0x4c4]
mov edx, eax
mov ecx, 0x52
call fcn.180094b10
cdqe
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x6c]
test eax, eax
je 0x1800b2405
movzx eax, byte [0x180146c03]
movzx eax, al
test eax, eax
je 0x1800b2357
movsx rax, byte [rsp + 0x43]
mov rcx, qword [rsp + 0x80]
xor rax, rcx
mov byte [rsp + 0x43], al
mov qword [0x180146d40], 0xed8a
jmp 0x1800b2403
movzx eax, byte [0x180146c42]
movsx eax, al
test eax, eax
je 0x1800b2397
movsx eax, word [0x180146d10]
movzx ecx, byte [rsp + 0x44]
movzx ecx, cl
sub eax, ecx
mov word [0x180146d10], ax
movzx eax, byte [0x180146c5f]
add eax, 0xfb
mov ecx, dword [rsp + 0x6c]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 0x6c], eax
jmp 0x1800b2403
mov rax, qword [rsp + 0x88]
movzx ecx, byte [0x180146c43]
cmp rax, rcx
jg 0x1800b23ce
movzx eax, byte [0x180146c86]
mov ecx, dword [rsp + 0x74]
mov ecx, ecx
movabs rdx, 0xfff8d895e3ce047b
add rcx, rdx
add rax, rcx
mov dword [rsp + 0x74], eax
jmp 0x1800b2403
movzx eax, byte [0x180146c2f]
movsx eax, al
test eax, eax
je 0x1800b2403
mov eax, dword [rsp + 0x6c]
mov eax, eax
mov rcx, qword [0x180146d50]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x180146d50]
add rcx, rax
mov rax, rcx
mov qword [0x180146d50], rax
jmp 0x1800b242e
movabs rax, 0x590a36583a13d
xor ecx, ecx
cmp rcx, rax
je 0x1800b242e
movsx rax, byte [rsp + 0x43]
movabs rcx, 0x7e275c446c640
add rax, rcx
mov word [rsp + 0x54], ax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xe4], eax
mov dword [rsp + 0x74], 0x99cd8c7b
mov eax, dword [rsp + 0xe4]
add eax, 0x1c9
mov dword [rsp + 0x314], eax
mov eax, dword [rsp + 0xe4]
add eax, 0x86
mov dword [rsp + 0x318], eax
movzx eax, byte [0x181001ff0]
mov byte [0x180146c5b], al
movsx eax, byte [rsp + 0x40]
add eax, 0x9ee4
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0xe4]
add eax, 0xc2
mov dword [rsp + 0x134], eax
movsxd rax, dword [rsp + 0x64]
mov rcx, qword [0x180146d68]
imul rax, rcx
mov dword [rsp + 0x64], eax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xe8], eax
movzx eax, byte [rsp + 0x41]
movsx eax, al
mov dword [rsp + 0x20], 0
mov r9d, eax
xor r8d, r8d
mov edx, 0x95
mov ecx, dword [0x180146cf0]
call fcn.1800950a0
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
movsx eax, al
test eax, eax
jle 0x1800b2568
xor eax, eax
mov word [0x180146d28], ax
movzx eax, byte [0x180146c5f]
add eax, 0xb7dcf725
mov eax, eax
mov qword [rsp + 0x98], rax
movzx eax, byte [0x180146bef]
movzx eax, al
sub eax, 0xbb
mov byte [rsp + 0x42], al
movzx eax, word [0x180146d28]
cwde
mov dword [rsp + 0x4c8], eax
cmp dword [rsp + 0x4c8], 0
je 0x1800b253c
jmp 0x1800b2566
movzx eax, word [0x180146d0c]
inc ax
mov word [0x180146d0c], ax
mov rax, qword [0x180146d50]
movabs rcx, 0xd6886607b213
add rax, rcx
mov word [rsp + 0x50], ax
jmp 0x1800b25af
xor eax, eax
cmp eax, 0x854
je 0x1800b25af
mov eax, dword [rsp + 0x78]
imul eax, eax, 0xb0
not eax
mov ecx, dword [0x180146d48]
sub eax, ecx
mov eax, eax
movsx rcx, word [0x180146d30]
movsx rdx, word [rsp + 0x54]
mov r8, qword [0x180146d00]
or r8, rdx
mov rdx, r8
add rcx, rdx
sub rax, rcx
mov qword [0x180146d18], rax
mov eax, dword [rsp + 0xe8]
add eax, 0x51af
mov dword [rsp + 0x5a8], eax
movzx eax, word [0x180146d60]
mov rcx, qword [0x180146d18]
add rax, rcx
mov word [0x180146d60], ax
mov eax, dword [rsp + 0xe8]
add eax, 0x2732
mov dword [rsp + 0x5ac], eax
movzx eax, word [rsp + 0x5c]
movzx eax, ax
cmp eax, dword [0x180146c04]
jne 0x1800b260a
mov dword [rsp + 0x16c], 1
jmp 0x1800b2615
mov dword [rsp + 0x16c], 0
movzx eax, word [rsp + 0x5c]
movzx eax, ax
cmp eax, 0xd
jne 0x1800b262f
mov dword [rsp + 0x168], 1
jmp 0x1800b263a
mov dword [rsp + 0x168], 0
mov eax, dword [rsp + 0x168]
cmp dword [rsp + 0x16c], eax
je 0x1800b26b9
mov byte [0x180146c87], 2
movzx eax, byte [0x180146c87]
mov byte [rsp + 0x170], al
cmp byte [rsp + 0x170], 1
je 0x1800b2677
cmp byte [rsp + 0x170], 2
je 0x1800b2691
jmp 0x1800b26b7
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x64]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x64]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x1800b26b7
movzx eax, word [rsp + 0x5c]
movzx eax, ax
sub eax, 0x3169
mov byte [0x180146c03], al
mov rax, qword [rsp + 0x90]
inc rax
mov qword [rsp + 0x90], rax
jmp 0x1800b26d7
movsx eax, byte [rsp + 0x42]
test eax, eax
je 0x1800b26d7
mov dword [rsp + 0x74], 0xcc79a174
movzx eax, word [rsp + 0x50]
cwde
sub eax, 0x24
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x25
mov dword [rsp + 0x5b0], eax
mov qword [rsp + 0x88], 3
mov eax, dword [0x181001ff0]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x3e8], rax
cmp qword [rsp + 0x3e8], 0
je 0x1800b2747
cmp qword [rsp + 0x3e8], 1
je 0x1800b2778
cmp qword [rsp + 0x3e8], 2
je 0x1800b27a8
cmp qword [rsp + 0x3e8], 3
je 0x1800b27c6
jmp 0x1800b282e
mov rax, qword [rsp + 0x88]
imul rax, rax, 0xecf4
mov byte [rsp + 0x40], al
mov rax, qword [rsp + 0x88]
not rax
imul rax, rax, 0x6e5a
mov qword [0x180146d40], rax
jmp 0x1800b282e
movzx eax, byte [0x180146c42]
movsx eax, al
sub eax, 0x19d31e6b
mov byte [0x180146c2e], al
movzx eax, byte [rsp + 0x44]
movzx eax, al
sub eax, 0x46921f2f
cdqe
mov qword [0x180146d40], rax
jmp 0x1800b282e
mov rax, qword [0x180146d20]
movabs rcx, 0xa58168963d89b
add rax, rcx
mov qword [rsp + 0x98], rax
jmp 0x1800b282e
movzx eax, word [rsp + 0x60]
movzx eax, ax
test eax, eax
jne 0x1800b27df
mov dword [rsp + 0x174], 1
jmp 0x1800b27ea
mov dword [rsp + 0x174], 0
mov eax, dword [rsp + 0x68]
add eax, dword [0x180146c44]
xor eax, dword [rsp + 0x174]
test eax, eax
jne 0x1800b280c
mov dword [rsp + 0x178], 1
jmp 0x1800b2817
mov dword [rsp + 0x178], 0
mov eax, dword [rsp + 0x178]
mov dword [rsp + 0x6c], eax
mov eax, 0x23d4
mov word [0x180146d58], ax
movsx eax, byte [rsp + 0x43]
movsx ecx, byte [rsp + 0x43]
cmp eax, ecx
jle 0x1800b2868
movzx eax, byte [rsp + 0x41]
movsx eax, al
movsx ecx, byte [rsp + 0x43]
cmp eax, ecx
jle 0x1800b2868
movzx eax, byte [0x180146c87]
movzx eax, al
mov ecx, dword [rsp + 0x6c]
add eax, ecx
mov dword [rsp + 0x78], eax
mov byte [0x180146c87], 0x56
mov dword [rsp + 0x458], 0x217
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
cmp rax, rcx
jae 0x1800b2895
mov dword [rsp + 0x180], 1
jmp 0x1800b28a0
mov dword [rsp + 0x180], 0
mov rax, qword [rsp + 0x80]
cmp rax, 0x60
jae 0x1800b28bb
mov dword [rsp + 0x17c], 1
jmp 0x1800b28c6
mov dword [rsp + 0x17c], 0
mov eax, dword [rsp + 0x17c]
cmp dword [rsp + 0x180], eax
je 0x1800b28f2
mov eax, dword [0x180146d4c]
add eax, 0x71
mov dword [0x180146d2c], eax
mov eax, dword [rsp + 0x78]
shl eax, 1
mov word [rsp + 0x50], ax
jmp 0x1800b2922
movzx eax, byte [str.U_This_legacy_API_is]
movsx eax, al
mov ecx, dword [rsp + 0x78]
add eax, ecx
movzx ecx, byte [str.U_This_legacy_API_is]
movsx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [str.U_This_legacy_API_is], al
mov eax, 0x1bd2
mov word [0x180146d5c], ax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xec], eax
movzx eax, word [0x181001ff0]
mov word [0x180146d3c], ax
mov eax, dword [rsp + 0xec]
add eax, 0xcb73
mov dword [rsp + 0x4cc], eax
mov eax, dword [rsp + 0xec]
add eax, 0x471b
mov dword [rsp + 0x3f8], eax
movzx eax, word [rsp + 0x50]
cwde
not eax
movzx ecx, byte [0x180146c41]
movzx ecx, cl
imul eax, ecx
test eax, eax
jne 0x1800b298a
mov qword [rsp + 0x4d8], 1
jmp 0x1800b2996
mov qword [rsp + 0x4d8], 0
movsx eax, word [0x180146d10]
mov ecx, dword [rsp + 0x68]
sub ecx, eax
mov eax, ecx
cdqe
movzx ecx, byte [str.U_This_legacy_API_is]
movsx rcx, cl
mov rdx, qword [0x180146d00]
xor rdx, rcx
mov rcx, rdx
imul rax, rcx
movzx ecx, word [rsp + 0x5c]
movzx ecx, cx
mov rdx, qword [0x180146cf0]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [rsp + 0x4d8]
add rdx, rcx
mov rcx, rdx
sub rax, rcx
mov byte [rsp + 0x40], al
movzx eax, byte [rsp + 0x41]
inc al
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0xec]
add eax, 0x626e
mov dword [rsp + 0x5b4], eax
movzx eax, byte [0x180146c42]
movsx eax, al
test eax, eax
je 0x1800b2afb
mov rax, qword [0x180146cf8]
movsx rcx, byte [rsp + 0x40]
cmp rax, rcx
jbe 0x1800b2a3c
mov dword [rsp + 0x188], 1
jmp 0x1800b2a47
mov dword [rsp + 0x188], 0
mov rax, qword [0x180146cf8]
cmp rax, 0x56
jbe 0x1800b2a61
mov dword [rsp + 0x184], 1
jmp 0x1800b2a6c
mov dword [rsp + 0x184], 0
mov eax, dword [rsp + 0x184]
cmp dword [rsp + 0x188], eax
jge 0x1800b2a93
movzx eax, byte [0x180146c5e]
add eax, 0xe58e
xor eax, 0xb8cc
mov dword [rsp + 0x64], eax
jmp 0x1800b2af9
mov eax, dword [rsp + 0x68]
movsx ecx, byte [rsp + 0x42]
cmp eax, ecx
je 0x1800b2aad
mov dword [rsp + 0x18c], 1
jmp 0x1800b2ab8
mov dword [rsp + 0x18c], 0
movsx eax, word [0x180146d3c]
cmp dword [rsp + 0x18c], eax
jg 0x1800b2af9
movzx eax, byte [str.U_This_legacy_API_is]
movsx rax, al
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
movzx eax, word [rsp + 0x4c]
cwde
add eax, 0xee
mov word [rsp + 0x4c], ax
jmp 0x1800b2b43
mov eax, 1
imul rax, rax, 0xb41
lea rcx, [0x18118cf50]
movzx edx, byte [0x180146d60]
mov byte [rcx + rax], dl
mov rax, qword [rsp + 0x88]
not rax
mov rcx, qword [0x180146d40]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x180146d40]
sub rcx, rax
mov rax, rcx
mov dword [0x180146c04], eax
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp eax, ecx
jl 0x1800b2b5c
mov dword [rsp + 0x194], 1
jmp 0x1800b2b67
mov dword [rsp + 0x194], 0
mov eax, dword [rsp + 0x68]
cmp eax, 0x28
jl 0x1800b2b7d
mov dword [rsp + 0x190], 1
jmp 0x1800b2b88
mov dword [rsp + 0x190], 0
mov eax, dword [rsp + 0x190]
cmp dword [rsp + 0x194], eax
jle 0x1800b2bd0
mov byte [rsp + 0x41], 0x62
movzx eax, byte [0x180146c43]
test eax, eax
je 0x1800b2bb7
movzx eax, word [rsp + 0x5c]
mov word [rsp + 0xb2], ax
jmp 0x1800b2bc4
movzx eax, word [rsp + 0x5c]
mov word [rsp + 0xb2], ax
movzx eax, byte [rsp + 0xb2]
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x4cc]
mov ecx, dword [rsp + 0x3f8]
sub eax, ecx
sub eax, 0x3f9f
mov ecx, 0x483a
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x45c], eax
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1800b2c04
jmp 0x1800b2c1f
mov eax, dword [0x180146d34]
shr eax, 7
mov byte [0x180146c86], al
movzx eax, word [rsp + 0x4c]
cwde
mov dword [0x180146c44], eax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xf0], eax
movzx eax, byte [0x181001ff0]
mov byte [0x180146c42], al
mov eax, dword [rsp + 0xf0]
add eax, 0x4fc8
mov dword [rsp + 0x5b8], eax
movzx eax, word [rsp + 0x48]
movzx eax, ax
mov ecx, dword [0x180146d4c]
cmp eax, ecx
ja 0x1800b2c6b
mov dword [rsp + 0x19c], 1
jmp 0x1800b2c76
mov dword [rsp + 0x19c], 0
movzx eax, word [rsp + 0x48]
movzx eax, ax
cmp eax, 0x4b
jg 0x1800b2c90
mov dword [rsp + 0x198], 1
jmp 0x1800b2c9b
mov dword [rsp + 0x198], 0
mov eax, dword [rsp + 0x198]
cmp dword [rsp + 0x19c], eax
je 0x1800b2cba
mov eax, dword [rsp + 0x74]
add eax, 0x609db4dd
mov dword [0x180146d34], eax
mov eax, dword [rsp + 0xf0]
add eax, 0xb8be
mov dword [rsp + 0x404], eax
movzx eax, byte [0x180146c2e]
movzx ecx, byte [0x180146c5b]
movsx ecx, cl
cmp eax, ecx
jg 0x1800b2cef
mov dword [rsp + 0x1a4], 1
jmp 0x1800b2cfa
mov dword [rsp + 0x1a4], 0
movzx eax, byte [0x180146c2e]
cmp eax, 0x17
jg 0x1800b2d13
mov dword [rsp + 0x1a0], 1
jmp 0x1800b2d1e
mov dword [rsp + 0x1a0], 0
mov eax, dword [rsp + 0x1a0]
cmp dword [rsp + 0x1a4], eax
jl 0x1800b2d56
movsx eax, byte [rsp + 0x42]
sub eax, 0xf619
mov byte [rsp + 0x43], al
movzx eax, word [rsp + 0x50]
cwde
movsx ecx, byte [rsp + 0x40]
mov edx, 0xb87c6800
lea rcx, [rcx + rdx]
add eax, ecx
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0xf0]
add eax, 0xaa
mov dword [rsp + 0x408], eax
movzx eax, byte [0x180146c5f]
movsx ecx, byte [0x180146caf]
movzx edx, word [rsp + 0x5c]
movzx edx, dx
mov dword [rsp + 0x3fc], edx
mov r8d, eax
mov edx, ecx
mov eax, dword [rsp + 0x3fc]
mov ecx, eax
call fcn.1800953a0
mov word [0x180146d5c], ax
movsx eax, word [0x180146d5c]
test eax, eax
jne 0x1800b2e4c
movzx eax, word [0x180146d28]
cwde
movsx ecx, word [0x180146d3c]
cmp eax, ecx
jge 0x1800b2dcf
mov dword [rsp + 0x1ac], 1
jmp 0x1800b2dda
mov dword [rsp + 0x1ac], 0
movzx eax, word [0x180146d28]
cwde
cmp eax, 1
jge 0x1800b2df4
mov dword [rsp + 0x1a8], 1
jmp 0x1800b2dff
mov dword [rsp + 0x1a8], 0
mov eax, dword [rsp + 0x1a8]
cmp dword [rsp + 0x1ac], eax
jl 0x1800b2e47
mov eax, dword [rsp + 0x6c]
add eax, 0x3941
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x6c], eax
mov rax, qword [0x180146cf8]
imul rax, rax, 0x9e
movsx rcx, word [0x180146d08]
add rcx, rax
mov rax, rcx
mov word [0x180146d08], ax
jmp 0x1800b2ee1
mov rax, qword [rsp + 0x98]
mov ecx, dword [0x180146d48]
mov ecx, ecx
cmp rax, rcx
jl 0x1800b2e6e
mov dword [rsp + 0x1b4], 1
jmp 0x1800b2e79
mov dword [rsp + 0x1b4], 0
movsx eax, byte [rsp + 0x40]
test eax, eax
je 0x1800b2e9b
movzx eax, byte [rsp + 0x41]
movsx eax, al
test eax, eax
je 0x1800b2e9b
mov dword [rsp + 0x1b0], 1
jmp 0x1800b2ea6
mov dword [rsp + 0x1b0], 0
mov eax, dword [rsp + 0x1b0]
cmp dword [rsp + 0x1b4], eax
jge 0x1800b2ee1
mov rax, qword [0x180146d68]
movabs rcx, 0xc13c01c24920a
imul rax, rcx
movzx ecx, byte [0x180146c03]
movzx ecx, cl
and rcx, rax
mov rax, rcx
mov byte [0x180146c03], al
xor eax, eax
mov word [rsp + 0x48], ax
movzx eax, word [rsp + 0x5c]
movzx eax, ax
test eax, eax
je 0x1800b2f07
movzx eax, byte [0x180146c03]
movzx eax, al
mov dword [rsp + 0x1b8], eax
jmp 0x1800b2f12
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x1b8], eax
movzx eax, word [rsp + 0x1b8]
mov word [rsp + 0x5c], ax
movzx eax, word [rsp + 0x48]
movzx eax, ax
mov dword [rsp + 0x400], eax
cmp dword [rsp + 0x400], 0
je 0x1800b2f3a
jmp 0x1800b2f52
movsx rax, byte [0x180146caf]
mov rcx, qword [0x180146d68]
and rax, rcx
mov byte [0x180146caf], al
mov eax, dword [rsp + 0x404]
mov ecx, dword [rsp + 0x408]
mov edx, 0xffff4a37
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x460], eax
mov rax, qword [0x180146d20]
test rax, rax
je 0x1800b2f8f
movzx eax, byte [0x180146c2f]
mov byte [rsp + 0xa0], al
jmp 0x1800b2f9d
movzx eax, byte [0x180146caf]
mov byte [rsp + 0xa0], al
movzx eax, byte [rsp + 0xa0]
mov byte [0x180146c86], al
movsx eax, word [rsp + 0x54]
test eax, eax
jne 0x1800b2fc1
mov dword [rsp + 0x1bc], 1
jmp 0x1800b2fcc
mov dword [rsp + 0x1bc], 0
movzx eax, byte [0x180146c5f]
mov ecx, dword [rsp + 0x1bc]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x43], al
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xf4], eax
movsx eax, byte [rsp + 0x42]
not eax
cdqe
mov qword [0x180146d00], rax
movzx eax, byte [rsp + 0x41]
movsx eax, al
add eax, 0x6df1
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0xf4]
add eax, 0x105
mov dword [rsp + 0x5bc], eax
mov rax, qword [rsp + 0x90]
test rax, rax
jne 0x1800b303e
mov qword [rsp + 0x4e0], 1
jmp 0x1800b304a
mov qword [rsp + 0x4e0], 0
mov rax, qword [rsp + 0x88]
not rax
sub rax, qword [rsp + 0x4e0]
mov ecx, dword [0x180146d4c]
mov ecx, ecx
imul rax, rcx
mov byte [0x180146c43], al
mov eax, dword [rsp + 0x78]
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0xf4]
add eax, 0xe87e
mov dword [rsp + 0x40c], eax
mov eax, dword [rsp + 0xf4]
add eax, 0x106
mov dword [rsp + 0x410], eax
mov dword [rsp + 0x20], 1
mov r9d, 0xb1
mov r8d, 0x31
xor edx, edx
mov ecx, 0xb4
call fcn.1800950a0
mov word [rsp + 0x5c], ax
movzx eax, word [rsp + 0x5c]
movzx eax, ax
test eax, eax
je 0x1800b3106
movzx eax, byte [0x180146c41]
movzx eax, al
movsx ecx, byte [rsp + 0x42]
imul eax, ecx
movzx ecx, byte [0x180146c41]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [0x180146c41], al
mov eax, dword [rsp + 0x68]
sub eax, 0x230ddf34
mov byte [0x180146bef], al
jmp 0x1800b3139
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
cmp rax, rcx
jge 0x1800b3139
mov rax, qword [0x180146d68]
mov ecx, 8
imul rcx, rcx, 0x857e
lea rdx, [0x181133bf0]
mov qword [rdx + rcx], rax
movsx rax, word [0x180146d10]
cmp qword [0x180146cf0], rax
je 0x1800b3157
mov dword [rsp + 0x1c4], 1
jmp 0x1800b3162
mov dword [rsp + 0x1c4], 0
cmp qword [0x180146cf0], 0x3c
je 0x1800b3179
mov dword [rsp + 0x1c0], 1
jmp 0x1800b3184
mov dword [rsp + 0x1c0], 0
mov eax, dword [rsp + 0x1c0]
cmp dword [rsp + 0x1c4], eax
jne 0x1800b328b
movsx eax, byte [rsp + 0x40]
mov r8d, eax
xor edx, edx
mov ecx, 0x16
call fcn.1800953a0
mov dword [0x180146d4c], eax
mov eax, dword [0x180146d4c]
test eax, eax
je 0x1800b31c9
movzx eax, byte [rsp + 0x41]
movsx eax, al
jmp 0x1800b3289
movzx eax, byte [str.U_This_legacy_API_is]
movsx eax, al
test eax, eax
je 0x1800b3289
mov rax, qword [0x180146cf8]
test rax, rax
je 0x1800b31f9
mov eax, dword [0x180146d34]
mov eax, eax
mov qword [rsp + 0x4e8], rax
jmp 0x1800b3208
mov rax, qword [0x180146cf0]
mov qword [rsp + 0x4e8], rax
movzx eax, byte [rsp + 0x4e8]
mov byte [0x180146c5e], al
movsx rax, byte [rsp + 0x40]
movabs rcx, 0x4b1b3bcdeedeb
sub rax, rcx
mov ecx, dword [rsp + 0x70]
add ecx, 0x9e
movsxd rcx, ecx
xor rax, rcx
movzx ecx, byte [0x180146c42]
movsx ecx, cl
mov edx, 0x6861f2f9
sub edx, ecx
mov ecx, edx
movzx edx, byte [0x180146c2e]
imul ecx, edx
movsxd rcx, ecx
add rax, rcx
test rax, rax
jne 0x1800b3270
mov eax, 1
mov word [rsp + 0xb4], ax
jmp 0x1800b327a
xor eax, eax
mov word [rsp + 0xb4], ax
movzx eax, word [rsp + 0xb4]
mov word [0x180146d0c], ax
jmp 0x1800b32a8
movsx rax, word [0x180146d08]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov word [0x180146d5c], ax
mov eax, dword [rsp + 0x40c]
mov ecx, dword [rsp + 0x410]
add eax, ecx
xor eax, 0xe83d
mov ecx, dword [rsp + 0xa8]
mov edx, 0x170
sub edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0x414]
mov r8d, dword [rsp + 0xa8]
add edx, r8d
add ecx, edx
mov edx, dword [rsp + 0xa8]
mov r8d, dword [rsp + 0xa8]
sub edx, r8d
mov r8d, dword [rsp + 0xa8]
imul r8d, r8d, 0x170
imul edx, r8d
imul ecx, edx
add eax, ecx
mov dword [rsp + 0x464], eax
movzx eax, byte [0x180146c5e]
movzx ecx, word [rsp + 0x4c]
movsx ecx, cx
cmp eax, ecx
jge 0x1800b3365
movzx eax, byte [0x180146c2f]
movsx eax, al
test eax, eax
je 0x1800b3356
mov eax, dword [rsp + 0x70]
cdqe
movabs rcx, 0x4ece622b2b89a
add rax, rcx
mov rcx, qword [0x180146cf0]
add rax, rcx
mov dword [rsp + 0x70], eax
jmp 0x1800b3365
movzx eax, byte [0x180146c03]
inc al
mov byte [0x180146c03], al
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xf8], eax
movzx eax, byte [0x180146c2e]
dec al
mov byte [0x180146c2e], al
mov eax, dword [rsp + 0xf8]
add eax, 0xb9
mov dword [rsp + 0x418], eax
movzx eax, word [rsp + 0x48]
movzx eax, ax
movsx ecx, byte [rsp + 0x40]
mov rdx, qword [rsp + 0x98]
mov r8d, dword [rsp + 0x64]
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
mov r9d, ecx
mov r8d, 0xda
xor ecx, ecx
call fcn.180094b10
mov byte [0x180146c2e], al
movzx eax, byte [0x180146c2e]
test eax, eax
jge 0x1800b33ed
mov dword [rsp + 0x1cc], 1
jmp 0x1800b33f8
mov dword [rsp + 0x1cc], 0
movzx eax, byte [0x180146c2e]
cmp eax, 0x59
jge 0x1800b3411
mov dword [rsp + 0x1c8], 1
jmp 0x1800b341c
mov dword [rsp + 0x1c8], 0
mov eax, dword [rsp + 0x1c8]
cmp dword [rsp + 0x1cc], eax
jl 0x1800b3456
movsx rax, word [0x180146c5c]
mov rcx, qword [rsp + 0x90]
sub rax, rcx
movsx rcx, word [0x180146c5c]
add rcx, rax
mov rax, rcx
mov word [0x180146c5c], ax
jmp 0x1800b346f
movzx eax, word [rsp + 0x5c]
mov ecx, 2
imul rcx, rcx, 0x38
lea rdx, [0x181192e90]
mov word [rdx + rcx], ax
mov eax, dword [rsp + 0xf8]
add eax, 0xd5
mov dword [rsp + 0x41c], eax
lea rax, [rsp + 0x668]
lea rcx, str.http:__docs.oasis_
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x668]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x180146c42], al
mov eax, dword [rsp + 0xf8]
add eax, 0x24b0
mov dword [rsp + 0x5c0], eax
mov eax, dword [rsp + 0x78]
cdqe
mov rcx, qword [rsp + 0x98]
cmp rax, rcx
je 0x1800b34e5
mov dword [rsp + 0x1d4], 1
jmp 0x1800b34f0
mov dword [rsp + 0x1d4], 0
mov eax, dword [rsp + 0x78]
cmp eax, 0x1b
je 0x1800b3506
mov dword [rsp + 0x1d0], 1
jmp 0x1800b3511
mov dword [rsp + 0x1d0], 0
mov eax, dword [rsp + 0x1d0]
cmp dword [rsp + 0x1d4], eax
jne 0x1800b3540
mov rax, qword [rsp + 0x80]
sub rax, 0xdc69
mov word [0x180146d0c], ax
mov dword [rsp + 0x74], 0x1c0260f3
jmp 0x1800b355b
movsxd rax, dword [0x180146c04]
movabs rcx, 0xcbdee7aec015e
imul rax, rcx
mov dword [0x180146d4c], eax
mov eax, dword [rsp + 0x418]
mov ecx, dword [rsp + 0x41c]
xor eax, ecx
add eax, 0x22e
mov dword [rsp + 0x4a0], eax
lea rax, [rsp + 0x6c0]
lea rcx, str.CoGetInterfaceAndR
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x6c0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [rsp + 0x50], ax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0xfc], eax
movzx eax, word [rsp + 0x5c]
mov word [0x180146d30], ax
mov eax, dword [rsp + 0xfc]
add eax, 0x29
mov dword [rsp + 0x1e8], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x4e
mov dword [rsp + 0x5c4], eax
movzx eax, word [rsp + 0x60]
movzx eax, ax
mov dword [rsp + 0x30], 0x7f
mov dword [rsp + 0x28], 0xe9
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x74]
mov r8d, eax
mov edx, 0x6f
xor ecx, ecx
call fcn.180094b10
mov word [rsp + 0x50], ax
movzx eax, word [rsp + 0x50]
cwde
test eax, eax
je 0x1800b36e8
movsx eax, word [0x180146d10]
movsx ecx, byte [0x180146caf]
cmp eax, ecx
je 0x1800b364a
movzx eax, byte [rsp + 0x44]
mov byte [0x180146c41], al
jmp 0x1800b36e6
movzx eax, word [0x180146d58]
movzx eax, ax
test eax, eax
jne 0x1800b3665
mov dword [rsp + 0x1d8], 1
jmp 0x1800b3670
mov dword [rsp + 0x1d8], 0
cmp dword [rsp + 0x1d8], 0x8b
jg 0x1800b3686
movsx eax, byte [rsp + 0x43]
test eax, eax
je 0x1800b36e6
movsx eax, word [0x180146c5c]
mov ecx, dword [rsp + 0x6c]
imul ecx, eax
mov eax, ecx
test eax, eax
jne 0x1800b36a8
mov qword [rsp + 0x4f0], 1
jmp 0x1800b36b4
mov qword [rsp + 0x4f0], 0
mov eax, dword [0x180146d14]
mov eax, eax
mov ecx, dword [rsp + 0x70]
movsxd rcx, ecx
mov rdx, qword [0x180146cf0]
sub rdx, rcx
mov rcx, rdx
add rcx, qword [rsp + 0x4f0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
jmp 0x1800b372d
movzx eax, byte [0x180146c86]
mov rcx, qword [0x180146d20]
cmp rax, rcx
je 0x1800b372d
movzx eax, word [0x180146d28]
cwde
add eax, 0xd4f2ec27
mov eax, eax
mov qword [0x180146d20], rax
movsx eax, word [rsp + 0x54]
sub eax, 0xe9
movsx ecx, word [0x180146d10]
and ecx, eax
mov eax, ecx
mov word [0x180146d10], ax
mov eax, dword [rsp + 0xfc]
add eax, 0x12
mov dword [rsp + 0x1e4], eax
movzx eax, byte [0x180146c2f]
movsx rax, al
mov rcx, qword [0x180146d20]
cmp rax, rcx
jne 0x1800b3762
mov dword [rsp + 0x1e0], 1
jmp 0x1800b376d
mov dword [rsp + 0x1e0], 0
movzx eax, byte [0x180146c2f]
movsx eax, al
cmp eax, 0x50
jne 0x1800b3789
mov dword [rsp + 0x1dc], 1
jmp 0x1800b3794
mov dword [rsp + 0x1dc], 0
mov eax, dword [rsp + 0x1dc]
cmp dword [rsp + 0x1e0], eax
jle 0x1800b37b6
movzx eax, byte [str.U_This_legacy_API_is]
movsx rax, al
mov qword [0x180146d18], rax
mov rax, qword [0x180146d18]
mov ecx, 0xe7b3d007
add rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x1e4]
mov ecx, dword [rsp + 0x1e8]
add eax, ecx
mov ecx, dword [rsp + 0x1e4]
mov edx, dword [rsp + 0x1e8]
or ecx, edx
sub eax, ecx
mov ecx, 0x272
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x4a4], eax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x104], eax
mov eax, dword [0x180146d64]
movzx ecx, byte [0x180146c41]
movzx ecx, cl
cmp eax, ecx
je 0x1800b385d
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x1800b3837
mov eax, dword [0x180146d48]
mov dword [rsp + 0x1ec], eax
jmp 0x1800b3844
mov eax, dword [0x180146d48]
mov dword [rsp + 0x1ec], eax
movzx eax, word [rsp + 0x1ec]
mov word [rsp + 0x50], ax
mov byte [0x180146c5f], 0xb6
jmp 0x1800b3921
xor eax, eax
cmp eax, 0x45
je 0x1800b388f
mov rax, qword [rsp + 0x80]
xor rax, 0x469a
mov byte [0x180146c03], al
movzx eax, byte [rsp + 0x44]
movzx eax, al
sar eax, 3
mov word [0x180146d3c], ax
jmp 0x1800b3921
mov rax, qword [rsp + 0x90]
test rax, rax
jne 0x1800b38a9
mov dword [rsp + 0x1f0], 1
jmp 0x1800b38b4
mov dword [rsp + 0x1f0], 0
movzx eax, word [rsp + 0x58]
cmp eax, 0xc0
jg 0x1800b38cd
mov dword [rsp + 0x1f4], 1
jmp 0x1800b38d8
mov dword [rsp + 0x1f4], 0
movzx eax, byte [0x180146c03]
movzx eax, al
mov ecx, dword [rsp + 0x1f0]
add ecx, eax
mov eax, ecx
cmp eax, dword [rsp + 0x1f4]
jge 0x1800b3921
mov rax, qword [rsp + 0x98]
not rax
movzx ecx, byte [0x180146c2e]
movabs rdx, 0x484807f7da33f
imul rcx, rdx
imul rax, rcx
mov word [0x180146d28], ax
mov eax, dword [rsp + 0x104]
add eax, 0x80
mov dword [rsp + 0x5c8], eax
mov eax, dword [0x180146d4c]
sub eax, 0xfc
mov word [0x180146d5c], ax
mov eax, dword [rsp + 0x104]
add eax, 0x81
mov dword [rsp + 0x5cc], eax
mov byte [rsp + 0x42], 2
movsx eax, word [0x180146d10]
test eax, eax
je 0x1800b3979
movzx eax, byte [0x180146c5e]
mov dword [rsp + 0x1f8], eax
jmp 0x1800b3988
movzx eax, word [rsp + 0x48]
movzx eax, ax
mov dword [rsp + 0x1f8], eax
mov eax, dword [rsp + 0x1f8]
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x100], al
cmp byte [rsp + 0x100], 0
je 0x1800b39c2
cmp byte [rsp + 0x100], 1
je 0x1800b3a05
cmp byte [rsp + 0x100], 2
je 0x1800b3a26
jmp 0x1800b3a79
movsx eax, word [rsp + 0x54]
sub eax, 0x80
mov byte [0x180146c2e], al
movzx eax, byte [0x180146c87]
movzx eax, al
test eax, eax
je 0x1800b39ed
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x1fc], eax
jmp 0x1800b39f8
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x1fc], eax
mov eax, dword [rsp + 0x1fc]
mov dword [rsp + 0x64], eax
jmp 0x1800b3a79
movsx eax, byte [rsp + 0x43]
imul eax, eax, 0x12
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x64]
add eax, 0x7fea
cdqe
mov qword [rsp + 0x80], rax
jmp 0x1800b3a79
movsx rax, byte [rsp + 0x42]
movabs rcx, 0xf83bf435f0ad1
add rax, rcx
mov byte [rsp + 0x42], al
movzx eax, byte [0x180146bef]
movzx eax, al
test eax, eax
je 0x1800b3a5e
movzx eax, word [rsp + 0x50]
movsx rax, ax
mov qword [rsp + 0x4f8], rax
jmp 0x1800b3a6e
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x4f8], rax
mov eax, dword [rsp + 0x4f8]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x104]
add eax, 0x103
mov dword [rsp + 0x5d0], eax
mov rax, qword [0x180146d50]
test rax, rax
je 0x1800b3b12
movzx eax, word [rsp + 0x5c]
movzx eax, ax
mov ecx, dword [rsp + 0x6c]
imul ecx, eax
mov eax, ecx
test eax, eax
jne 0x1800b3aba
mov dword [rsp + 0x204], 1
jmp 0x1800b3ac5
mov dword [rsp + 0x204], 0
movzx eax, word [rsp + 0x5c]
movzx eax, ax
xor eax, 0x2031
test eax, eax
jne 0x1800b3ae3
mov dword [rsp + 0x200], 1
jmp 0x1800b3aee
mov dword [rsp + 0x200], 0
mov eax, dword [rsp + 0x200]
mov ecx, dword [rsp + 0x204]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x6c]
sub eax, ecx
mov word [0x180146d30], ax
jmp 0x1800b3be9
movzx eax, word [rsp + 0x5c]
movzx eax, ax
movzx ecx, byte [str.U_This_legacy_API_is]
movsx ecx, cl
cmp eax, ecx
jne 0x1800b3b46
mov eax, 2
imul rax, rax, 1
lea rcx, [0x181083fd8]
movzx eax, word [rcx + rax]
mov word [rsp + 0x4c], ax
jmp 0x1800b3be9
mov eax, dword [rsp + 0x6c]
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
cmp eax, ecx
jbe 0x1800b3bac
movzx eax, word [rsp + 0x58]
test eax, eax
je 0x1800b3b74
movzx eax, byte [0x180146c2f]
movsx rax, al
mov qword [rsp + 0x500], rax
jmp 0x1800b3b83
mov rax, qword [0x180146d18]
mov qword [rsp + 0x500], rax
movzx eax, byte [rsp + 0x500]
mov byte [rsp + 0x40], al
movzx eax, byte [0x180146c86]
movzx ecx, word [rsp + 0x50]
movsx ecx, cx
lea eax, [rcx + rax - 0x27259957]
mov word [rsp + 0x50], ax
jmp 0x1800b3be9
xor eax, eax
cmp eax, 0x797d6edd
je 0x1800b3be9
mov eax, dword [0x181001ff0]
mov qword [0x180146cf0], rax
movzx eax, byte [rsp + 0x41]
movsx rax, al
mov rcx, qword [0x180146d20]
imul rax, rcx
movzx ecx, byte [rsp + 0x41]
movsx rcx, cl
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x41], al
movzx eax, word [rsp + 0x5c]
movzx eax, ax
mov dword [rsp + 0x20], 0
mov r9d, 0x83
xor r8d, r8d
mov edx, 4
mov ecx, eax
call fcn.1800950a0
mov byte [rsp + 0x42], al
mov eax, dword [0x180146d64]
test eax, eax
jne 0x1800b3c35
movzx eax, byte [rsp + 0x41]
movsx eax, al
test eax, eax
jne 0x1800b3c35
mov dword [rsp + 0x210], 0
jmp 0x1800b3c40
mov dword [rsp + 0x210], 1
movzx eax, byte [0x180146c5b]
movsx eax, al
test eax, eax
jne 0x1800b3c5b
mov dword [rsp + 0x208], 1
jmp 0x1800b3c66
mov dword [rsp + 0x208], 0
mov eax, dword [rsp + 0x70]
cmp dword [rsp + 0x208], eax
je 0x1800b3c80
mov dword [rsp + 0x20c], 1
jmp 0x1800b3c8b
mov dword [rsp + 0x20c], 0
mov eax, dword [rsp + 0x20c]
cmp dword [rsp + 0x210], eax
jg 0x1800b3ca8
mov dword [rsp + 0x214], 1
jmp 0x1800b3cb3
mov dword [rsp + 0x214], 0
mov eax, dword [rsp + 0x214]
not eax
test eax, eax
je 0x1800b3d2f
movzx eax, word [rsp + 0x4c]
cwde
movsx ecx, word [0x180146d30]
cmp eax, ecx
jge 0x1800b3cf5
movzx eax, word [rsp + 0x5c]
movzx eax, ax
mov ecx, dword [rsp + 0x70]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x70], eax
mov eax, dword [0x181001ff0]
mov qword [rsp + 0x80], rax
jmp 0x1800b3d2f
movzx eax, word [rsp + 0x4c]
cwde
test eax, eax
je 0x1800b3d13
movzx eax, byte [0x180146c41]
movzx eax, al
mov qword [rsp + 0x508], rax
jmp 0x1800b3d22
mov rax, qword [0x180146d20]
mov qword [rsp + 0x508], rax
movzx eax, word [rsp + 0x508]
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x108]
mov ecx, dword [rsp + 0x108]
sub eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x108]
imul ecx, ecx, 0x318
xor ecx, 0x99240
imul eax, ecx
mov ecx, 0x220
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x4a8], eax
movsx eax, word [rsp + 0x54]
sub eax, 0x94
cdqe
mov qword [rsp + 0x88], rax
movzx eax, byte [0x180146c2f]
movsx eax, al
test eax, eax
jne 0x1800b3d9a
mov dword [rsp + 0x218], 1
jmp 0x1800b3da5
mov dword [rsp + 0x218], 0
movzx eax, byte [0x180146c5f]
mov ecx, dword [rsp + 0x218]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x180146c03]
movzx ecx, cl
movzx edx, byte [0x180146c42]
movsx edx, dl
sub ecx, edx
xor eax, ecx
movzx ecx, word [rsp + 0x5c]
movzx ecx, cx
mov edx, dword [0x180146d4c]
xor edx, ecx
mov ecx, edx
mov edx, dword [0x180146d38]
add edx, ecx
mov ecx, edx
not ecx
xor eax, ecx
mov byte [rsp + 0x40], al
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x10c], eax
mov byte [rsp + 0x43], 1
movsx eax, byte [rsp + 0x40]
mov ecx, dword [rsp + 0x6c]
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x1800b3e23
mov dword [rsp + 0x21c], 1
jmp 0x1800b3e2e
mov dword [rsp + 0x21c], 0
movzx eax, word [0x180146d0c]
movzx eax, ax
movsx ecx, word [0x180146c5c]
sub eax, ecx
not eax
xor eax, dword [rsp + 0x21c]
test eax, eax
jne 0x1800b3e5b
mov dword [rsp + 0x224], 1
jmp 0x1800b3e66
mov dword [rsp + 0x224], 0
movzx eax, byte [0x180146c2f]
movsx eax, al
mov ecx, dword [rsp + 0x74]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x1800b3e8a
mov qword [rsp + 0x510], 1
jmp 0x1800b3e96
mov qword [rsp + 0x510], 0
movsx rax, word [rsp + 0x54]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x510]
sub rcx, rax
mov rax, rcx
test rax, rax
jne 0x1800b3eca
mov dword [rsp + 0x220], 1
jmp 0x1800b3ed5
mov dword [rsp + 0x220], 0
mov eax, dword [rsp + 0x220]
mov ecx, dword [rsp + 0x224]
xor ecx, eax
mov eax, ecx
mov dword [0x180146d14], eax
movsx eax, byte [0x180146caf]
xor eax, 0x8c32
cdqe
mov qword [rsp + 0x90], rax
movzx eax, byte [rsp + 0x43]
mov byte [rsp + 0x228], al
cmp byte [rsp + 0x228], 0
je 0x1800b3f2c
cmp byte [rsp + 0x228], 1
je 0x1800b3ff9
jmp 0x1800b4016
movzx eax, word [0x180146d28]
cwde
movzx ecx, byte [0x180146c87]
movzx ecx, cl
movzx edx, byte [0x180146c42]
movsx edx, dl
add ecx, edx
sub eax, ecx
movzx ecx, byte [0x180146c5f]
movzx edx, byte [0x180146bc7]
movsx edx, dl
movsx edi, word [0x180146d10]
xor edx, edi
add ecx, edx
xor eax, ecx
mov dword [rsp + 0x64], eax
movsx eax, byte [rsp + 0x40]
test eax, eax
jne 0x1800b3f84
mov dword [rsp + 0x22c], 1
jmp 0x1800b3f8f
mov dword [rsp + 0x22c], 0
mov rax, qword [rsp + 0x98]
test rax, rax
jne 0x1800b3fa9
mov dword [rsp + 0x230], 1
jmp 0x1800b3fb4
mov dword [rsp + 0x230], 0
movzx eax, byte [0x180146c03]
movzx eax, al
mov ecx, dword [rsp + 0x68]
imul ecx, eax
mov eax, ecx
not eax
add eax, dword [rsp + 0x22c]
movzx ecx, byte [rsp + 0x41]
movsx ecx, cl
not ecx
movzx edx, byte [0x180146c2e]
sub ecx, edx
movsx edx, byte [rsp + 0x42]
add edx, dword [rsp + 0x230]
sub ecx, edx
sub eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x1800b4016
mov eax, dword [0x180146c44]
not eax
movzx ecx, word [0x180146d0c]
movzx ecx, cx
add eax, ecx
mov eax, eax
mov qword [0x180146d18], rax
mov eax, dword [rsp + 0x10c]
add eax, 0x187
mov dword [rsp + 0x5d4], eax
movzx eax, byte [0x180146c42]
movsx eax, al
test eax, eax
je 0x1800b406c
movsx rax, word [0x180146d30]
mov rcx, qword [rsp + 0x90]
imul rax, rcx
mov word [0x180146d30], ax
movzx eax, byte [0x180146c86]
movabs rcx, 0xb815cc7c723ac
add rax, rcx
mov dword [0x180146d4c], eax
mov eax, dword [rsp + 0x10c]
add eax, 0x2c7
mov dword [rsp + 0x42c], eax
lea rax, [rsp + 0x680]
lea rcx, [0x180111070]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1c
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x680]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x10c]
add eax, 0x296
mov dword [rsp + 0x5d8], eax
mov eax, dword [rsp + 0x6c]
sub eax, 0x78efba1d
mov byte [rsp + 0x42], al
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x110], eax
movzx eax, byte [0x180146c86]
mov ecx, dword [rsp + 0x68]
cmp eax, ecx
je 0x1800b41b1
mov byte [0x180146bef], 0
movzx eax, word [rsp + 0x50]
cwde
movsx ecx, word [rsp + 0x54]
imul eax, ecx
add eax, dword [0x180146c44]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x41]
movsx eax, al
movzx ecx, byte [0x180146c5f]
sub eax, ecx
test eax, eax
jne 0x1800b4134
mov dword [rsp + 0x238], 1
jmp 0x1800b413f
mov dword [rsp + 0x238], 0
mov eax, dword [0x180146d4c]
test eax, eax
jne 0x1800b4156
mov dword [rsp + 0x234], 1
jmp 0x1800b4161
mov dword [rsp + 0x234], 0
movzx eax, word [rsp + 0x4c]
cwde
not eax
mov ecx, dword [rsp + 0x234]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x238]
add ecx, eax
mov eax, ecx
mov byte [0x180146c03], al
movzx eax, byte [0x180146bef]
mov byte [rsp + 0x420], al
cmp byte [rsp + 0x420], 0
je 0x1800b419f
jmp 0x1800b41af
movzx eax, byte [0x180146c43]
sar eax, 6
mov byte [str.U_This_legacy_API_is], al
jmp 0x1800b422e
movzx eax, word [rsp + 0x60]
movzx eax, ax
test eax, eax
jne 0x1800b41d3
cmp dword [0x180146c04], 0
jne 0x1800b41d3
mov dword [rsp + 0x23c], 0
jmp 0x1800b41de
mov dword [rsp + 0x23c], 1
movzx eax, byte [0x180146c5b]
movsx eax, al
cmp dword [rsp + 0x23c], eax
jle 0x1800b422e
movzx eax, byte [0x180146c43]
movabs rcx, 0xadd15da4ac520
sub rax, rcx
mov dword [0x180146c44], eax
movsx eax, word [0x180146c5c]
movzx ecx, word [rsp + 0x5c]
movzx ecx, cx
sub eax, ecx
movsx ecx, word [0x180146c5c]
sub ecx, eax
mov eax, ecx
mov word [0x180146c5c], ax
mov eax, dword [rsp + 0x110]
add eax, 0x1df
mov dword [rsp + 0x5dc], eax
movzx eax, word [0x180146d60]
sar eax, 4
cdqe
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x110]
add eax, 0x140
mov dword [rsp + 0x46c], eax
movsx eax, word [0x180146d10]
not eax
imul eax, eax, 0xdc
not eax
mov ecx, dword [0x180146d34]
not ecx
mov edx, dword [0x180146d4c]
imul ecx, edx
not ecx
sub eax, ecx
mov word [0x180146d28], ax
mov eax, dword [rsp + 0x110]
add eax, 0x26c
mov dword [rsp + 0x2e0], eax
movzx eax, word [rsp + 0x4c]
movsx rax, ax
mov rcx, qword [rsp + 0x88]
sub rax, rcx
movzx ecx, word [rsp + 0x4c]
movsx rcx, cx
add rcx, rax
mov rax, rcx
mov word [rsp + 0x4c], ax
movsx eax, word [0x180146d5c]
movsx ecx, byte [rsp + 0x42]
sub eax, ecx
mov word [0x180146d5c], ax
mov eax, 1
imul rax, rax, 0xaa
lea rcx, [0x181002280]
movzx edx, byte [0x180146d5c]
mov byte [rcx + rax], dl
mov dword [rsp + 0xa4], 0
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1800b43ca
movzx eax, byte [0x180146bee]
movsx eax, al
test eax, eax
je 0x1800b4352
mov rax, qword [0x180146d00]
and rax, 0xadbc
movzx ecx, byte [0x180146c5b]
movsx rcx, cl
sub rcx, rax
mov rax, rcx
mov byte [0x180146c5b], al
jmp 0x1800b43c5
movsx eax, byte [0x180146caf]
cmp eax, 1
jge 0x1800b436b
mov dword [rsp + 0x244], 1
jmp 0x1800b4376
mov dword [rsp + 0x244], 0
movsx eax, byte [rsp + 0x43]
movsx ecx, byte [rsp + 0x40]
cmp eax, ecx
jle 0x1800b4391
mov dword [rsp + 0x240], 1
jmp 0x1800b439c
mov dword [rsp + 0x240], 0
mov eax, dword [rsp + 0x240]
cmp dword [rsp + 0x244], eax
jle 0x1800b43c5
movzx eax, word [rsp + 0x50]
cwde
mov ecx, 4
imul rcx, rcx, 0x65
lea rdx, [0x181002000]
mov dword [rdx + rcx], eax
jmp 0x1800b4471
cmp dword [rsp + 0x64], 0
jne 0x1800b43dc
movzx eax, byte [0x180146c5f]
test eax, eax
jne 0x1800b43f3
movzx eax, byte [0x180146c03]
movzx eax, al
add eax, 0x1972
mov byte [0x180146bee], al
jmp 0x1800b4471
mov eax, dword [rsp + 0x6c]
test eax, eax
jne 0x1800b4408
mov dword [rsp + 0x248], 1
jmp 0x1800b4413
mov dword [rsp + 0x248], 0
movsx eax, byte [rsp + 0x43]
cmp dword [rsp + 0x248], eax
jge 0x1800b442e
mov dword [rsp + 0x24c], 1
jmp 0x1800b4439
mov dword [rsp + 0x24c], 0
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x24c]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x1800b4471
movzx eax, byte [rsp + 0x44]
movzx eax, al
add eax, 0x1034
mov dword [rsp + 0x6c], eax
movzx eax, byte [0x180146c5b]
movsx eax, al
sub eax, 0xb
mov word [0x180146d60], ax
mov qword [rsp + 0xd0], 0
mov rax, qword [0x180146d68]
movzx ecx, byte [0x180146c2f]
movsx rcx, cl
cmp rax, rcx
jge 0x1800b459f
movzx eax, byte [0x180146bc7]
movsx eax, al
test eax, eax
je 0x1800b44cf
movzx eax, byte [0x180146bef]
movzx eax, al
movzx ecx, word [rsp + 0x50]
movsx ecx, cx
sub eax, ecx
mov byte [0x180146bef], al
mov eax, 0xeb
mov word [rsp + 0x54], ax
jmp 0x1800b459d
movzx eax, word [rsp + 0x60]
movzx eax, ax
mov ecx, 8
imul rcx, rcx, 0x3e40
lea rdx, [0x1811e2d00]
mov qword [rdx + rcx], rax
mov rax, qword [rsp + 0x90]
test rax, rax
jne 0x1800b4508
mov dword [rsp + 0x250], 1
jmp 0x1800b4513
mov dword [rsp + 0x250], 0
mov eax, dword [0x180146d48]
mov ecx, dword [rsp + 0x250]
imul ecx, eax
mov eax, ecx
test eax, eax
jne 0x1800b4536
mov dword [rsp + 0x254], 1
jmp 0x1800b4541
mov dword [rsp + 0x254], 0
movzx eax, word [0x180146d58]
movzx eax, ax
movsx ecx, byte [0x180146caf]
xor eax, ecx
test eax, eax
jne 0x1800b4565
mov dword [rsp + 0x258], 1
jmp 0x1800b4570
mov dword [rsp + 0x258], 0
mov eax, dword [rsp + 0x70]
imul eax, dword [rsp + 0x254]
movsx ecx, byte [0x180146caf]
movzx edx, byte [str.U_This_legacy_API_is]
movsx edx, dl
sub ecx, edx
sub ecx, dword [rsp + 0x258]
imul eax, ecx
mov byte [rsp + 0x44], al
jmp 0x1800b45be
movzx eax, byte [0x180146c42]
movsx eax, al
xor eax, 0xcc18
movzx ecx, byte [rsp + 0x44]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x44], al
mov qword [rsp + 0x3e0], 0
mov rax, qword [rsp + 0x98]
movzx ecx, byte [0x180146bc7]
movsx rcx, cl
cmp rax, rcx
jl 0x1800b45ef
mov dword [rsp + 0x260], 1
jmp 0x1800b45fa
mov dword [rsp + 0x260], 0
mov rax, qword [rsp + 0x98]
cmp rax, 0x31
jl 0x1800b4615
mov dword [rsp + 0x25c], 1
jmp 0x1800b4620
mov dword [rsp + 0x25c], 0
mov eax, dword [rsp + 0x25c]
cmp dword [rsp + 0x260], eax
jle 0x1800b4643
movzx eax, byte [rsp + 0x44]
movzx eax, al
sar eax, 1
mov word [0x180146d3c], ax
jmp 0x1800b464e
movzx eax, byte [0x181001ff0]
mov byte [rsp + 0x43], al
mov qword [rsp + 0x3f0], 0
mov byte [0x180146c87], 0x9d
mov dword [rsp + 0xc4], 0
mov eax, 1
mov word [0x180146d5c], ax
movzx eax, byte [0x180146caf]
mov byte [rsp + 0x44], al
movsx eax, word [0x180146d5c]
mov dword [rsp + 0x264], eax
cmp dword [rsp + 0x264], 0
je 0x1800b46a7
cmp dword [rsp + 0x264], 1
je 0x1800b46bd
jmp 0x1800b4709
movzx eax, word [rsp + 0x60]
movzx eax, ax
add eax, 0x47e6
mov word [0x180146d60], ax
jmp 0x1800b4709
movzx eax, byte [rsp + 0x44]
movzx eax, al
test eax, eax
je 0x1800b46d7
movzx eax, byte [rsp + 0x44]
mov byte [rsp + 0xa1], al
jmp 0x1800b46e3
movzx eax, byte [rsp + 0x44]
mov byte [rsp + 0xa1], al
movzx eax, byte [rsp + 0xa1]
mov qword [rsp + 0x88], rax
movzx eax, byte [0x180146c87]
movzx eax, al
sub eax, 0xd6e04826
mov word [0x180146d3c], ax
mov qword [rsp + 0x610], 0xb7
movzx eax, word [rsp + 0x60]
movzx eax, ax
test eax, eax
je 0x1800b474c
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1800b474c
movzx eax, word [rsp + 0x48]
movzx eax, ax
add eax, 0x5c85
movzx ecx, byte [0x180146c2e]
sub ecx, eax
mov eax, ecx
mov byte [0x180146c2e], al
mov eax, 0x80000000
mov qword [rsp + 0x600], rax
mov rax, qword [0x180146cf0]
and rax, 0xb814
mov word [rsp + 0x4c], ax
mov dword [rsp + 0x428], 1
mov dword [rsp + 0x424], 3
movsx eax, byte [rsp + 0x40]
test eax, eax
je 0x1800b47bd
mov dword [rsp + 0x64], 0x54e79160
movsxd rax, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x1800b47e2
mov rax, qword [0x180146cf8]
add rax, 0xc2
mov dword [rsp + 0x68], eax
movzx eax, byte [0x180146c03]
movzx eax, al
imul eax, eax, 0x2f7d7bf0
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x608], 0xffffffffffffffff
mov eax, dword [rsp + 0x70]
mov ecx, dword [0x180146d4c]
cmp eax, ecx
jbe 0x1800b4809
mov dword [rsp + 0x26c], 1
jmp 0x1800b4814
mov dword [rsp + 0x26c], 0
mov eax, dword [rsp + 0x70]
cmp eax, 0x1b
jle 0x1800b482a
mov dword [rsp + 0x268], 1
jmp 0x1800b4835
mov dword [rsp + 0x268], 0
mov eax, dword [rsp + 0x268]
cmp dword [rsp + 0x26c], eax
jle 0x1800b489e
mov qword [0x180146d20], 0
movsx eax, word [0x180146d08]
imul eax, eax, 0x90
mov dword [0x180146d14], eax
movsx eax, byte [rsp + 0x42]
add eax, 0x56195c3a
cdqe
mov qword [0x180146d40], rax
mov rax, qword [0x180146d20]
mov qword [rsp + 0x5f8], rax
cmp qword [rsp + 0x5f8], 0
je 0x1800b4892
jmp 0x1800b489e
mov eax, 0xfa2b
mov word [0x180146d60], ax
mov dword [rsp + 0x454], 2
mov eax, 4
imul rax, rax, 0x12
lea rcx, [0x1811c2550]
movzx eax, byte [rcx + rax]
mov byte [0x180146c43], al
movsx eax, word [0x180146d30]
movzx ecx, byte [0x180146c43]
movzx edx, byte [0x180146c03]
movzx edx, dl
movsx edi, byte [rsp + 0x40]
add edx, edi
imul ecx, edx
sub eax, ecx
cdqe
mov qword [0x180146d50], rax
mov dword [rsp + 0x450], 0x1000000
movzx eax, byte [0x180146c87]
movzx eax, al
movzx ecx, word [rsp + 0x58]
sub eax, ecx
movzx ecx, byte [0x180146c87]
movzx ecx, cl
or ecx, eax
mov eax, ecx
mov byte [0x180146c87], al
movzx eax, byte [str.U_This_legacy_API_is]
movsx eax, al
movzx ecx, byte [0x180146c5b]
movsx ecx, cl
xor eax, ecx
mov byte [str.U_This_legacy_API_is], al
mov dword [rsp + 0x49c], 4
mov r8d, 0x104
xor edx, edx
lea rcx, [rsp + 0x710]
call fcn.1800311d0
movzx eax, byte [rsp + 0x41]
movsx rax, al
mov rcx, qword [0x180146d50]
cmp rax, rcx
jbe 0x1800b498f
mov byte [0x180146bc7], 0x82
mov eax, dword [rsp + 0x6c]
mov ecx, 4
imul rcx, rcx, 0x55
lea rdx, [0x1811c2860]
mov dword [rdx + rcx], eax
mov r9d, 0x104
lea r8, [rsp + 0x710]
mov rdx, qword [rsp + 0x848]
mov rcx, qword [rsp + 0x840]
call fcn.1800ab8d0
mov dword [rsp + 0xa4], eax
cmp dword [rsp + 0xa4], 3
jne 0x1800b4cc8
movzx eax, byte [rsp + 0x41]
movsx eax, al
movzx ecx, word [0x180146d58]
movzx ecx, cx
cmp eax, ecx
je 0x1800b49ea
mov dword [rsp + 0x274], 1
jmp 0x1800b49f5
mov dword [rsp + 0x274], 0
movzx eax, byte [rsp + 0x41]
movsx eax, al
cmp eax, 0x5a
je 0x1800b4a0f
mov dword [rsp + 0x270], 1
jmp 0x1800b4a1a
mov dword [rsp + 0x270], 0
mov eax, dword [rsp + 0x270]
cmp dword [rsp + 0x274], eax
jl 0x1800b4adb
mov dword [0x180146c04], 1
movsx eax, byte [rsp + 0x40]
test eax, eax
je 0x1800b4a52
mov rax, qword [0x180146cf0]
mov qword [rsp + 0x518], rax
jmp 0x1800b4a62
movsx rax, byte [0x180146caf]
mov qword [rsp + 0x518], rax
movzx eax, byte [rsp + 0x518]
mov byte [rsp + 0x43], al
mov eax, dword [0x180146c04]
mov dword [rsp + 0x278], eax
cmp dword [rsp + 0x278], 0
je 0x1800b4a91
cmp dword [rsp + 0x278], 1
je 0x1800b4ac5
jmp 0x1800b4ad6
movsx eax, byte [rsp + 0x40]
not eax
cdqe
mov rcx, qword [rsp + 0x88]
xor rax, rcx
movzx ecx, byte [0x180146bef]
movzx ecx, cl
mov rdx, qword [0x180146d50]
add rdx, rcx
mov rcx, rdx
add rax, rcx
mov byte [rsp + 0x41], al
jmp 0x1800b4ad6
movsx eax, byte [rsp + 0x42]
mov ecx, dword [0x180146d34]
sub eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x1800b4c58
movzx eax, word [0x180146d28]
cwde
mov ecx, dword [rsp + 0x74]
cmp eax, ecx
jb 0x1800b4af8
mov dword [rsp + 0x27c], 1
jmp 0x1800b4b03
mov dword [rsp + 0x27c], 0
movzx eax, byte [0x180146bef]
movzx eax, al
cmp eax, dword [rsp + 0x27c]
je 0x1800b4b2e
movzx eax, byte [rsp + 0x41]
movsx eax, al
movzx ecx, word [rsp + 0x58]
add eax, ecx
mov byte [rsp + 0x41], al
jmp 0x1800b4c58
cmp dword [0x180146c04], 0
je 0x1800b4bc8
movsx eax, byte [rsp + 0x40]
mov ecx, dword [rsp + 0x70]
imul ecx, eax
mov eax, ecx
test eax, eax
jne 0x1800b4b5a
mov dword [rsp + 0x280], 1
jmp 0x1800b4b65
mov dword [rsp + 0x280], 0
movzx eax, word [rsp + 0x60]
movzx eax, ax
not eax
movsx ecx, byte [rsp + 0x42]
or eax, ecx
movzx ecx, byte [0x180146c86]
not ecx
mov edx, dword [0x180146d34]
add ecx, edx
not ecx
sub eax, ecx
movsx ecx, word [0x180146d5c]
mov edx, dword [rsp + 0x280]
sub edx, ecx
mov ecx, edx
sub eax, ecx
mov byte [rsp + 0x41], al
movsx eax, word [0x180146d3c]
mov ecx, dword [rsp + 0x74]
add eax, ecx
movsx ecx, word [rsp + 0x54]
not ecx
add ecx, 0x2491098
sub eax, ecx
mov byte [rsp + 0x44], al
jmp 0x1800b4c58
movzx eax, byte [0x180146c87]
movzx eax, al
movsx ecx, byte [rsp + 0x42]
cmp eax, ecx
jne 0x1800b4be8
mov dword [rsp + 0x288], 1
jmp 0x1800b4bf3
mov dword [rsp + 0x288], 0
movzx eax, byte [0x180146c5f]
movsx ecx, word [0x180146d5c]
add eax, ecx
test eax, eax
jne 0x1800b4c14
mov dword [rsp + 0x284], 1
jmp 0x1800b4c1f
mov dword [rsp + 0x284], 0
mov eax, dword [rsp + 0x284]
mov ecx, dword [rsp + 0x288]
add ecx, eax
mov eax, ecx
not eax
test eax, eax
je 0x1800b4c58
mov eax, dword [0x180146d64]
add eax, 0x3dead4c0
mov dword [rsp + 0x70], eax
mov eax, dword [0x180146d2c]
add eax, 0xaaee
mov word [0x180146d3c], ax
movzx eax, byte [0x180146bc7]
movsx eax, al
test eax, eax
je 0x1800b4ca2
movsx eax, word [0x180146d5c]
movsx ecx, word [0x180146d30]
xor r9d, r9d
xor r8d, r8d
mov edx, eax
call fcn.180094760
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x6c]
test eax, eax
jae 0x1800b4c8f
jmp 0x1800b4ca0
movsx eax, word [rsp + 0x54]
and eax, 0x65c5
mov word [0x180146d3c], ax
jmp 0x1800b4cbc
xor eax, eax
cmp eax, 0xf6
je 0x1800b4cbc
mov eax, dword [rsp + 0x68]
shl eax, 8
cdqe
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0xa4]
jmp 0x1800b7d6f
movzx eax, byte [rsp + 0x41]
movsx eax, al
and eax, 0x6e
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0xc4]
mov ecx, dword [rsp + 0xc4]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x424]
mov dword [rsp + 0x20], eax
mov r9d, ecx
mov r8d, dword [rsp + 0x428]
mov edx, dword [rsp + 0x600]
lea rcx, [rsp + 0x710]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0xd0], rax
mov eax, dword [rsp + 0x42c]
add eax, 0x56
cmp eax, 0x36e
je 0x1800b5aba
mov eax, dword [rsp + 0x70]
cmp dword [rsp + 0x64], eax
je 0x1800b4d52
mov dword [rsp + 0x290], 1
jmp 0x1800b4d5d
mov dword [rsp + 0x290], 0
cmp dword [rsp + 0x64], 0x3c
je 0x1800b4d71
mov dword [rsp + 0x28c], 1
jmp 0x1800b4d7c
mov dword [rsp + 0x28c], 0
mov eax, dword [rsp + 0x28c]
cmp dword [rsp + 0x290], eax
jl 0x1800b4d9e
movzx eax, word [rsp + 0x58]
sar eax, 6
cdqe
mov qword [rsp + 0x88], rax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x114], eax
movzx eax, word [rsp + 0x50]
movsx rax, ax
mov qword [rsp + 0x88], rax
mov eax, dword [0x180146d38]
add eax, 0x636b4f63
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x114]
add eax, 0xbae1
mov dword [rsp + 0x430], eax
mov eax, dword [rsp + 0x114]
add eax, 0xefb8
mov dword [rsp + 0x434], eax
mov dword [rsp + 0x68], 1
mov eax, dword [0x180146d48]
test eax, eax
jne 0x1800b4e10
mov dword [rsp + 0x294], 1
jmp 0x1800b4e1b
mov dword [rsp + 0x294], 0
movzx eax, word [0x180146d58]
movzx eax, ax
movzx ecx, byte [0x180146c2f]
movsx ecx, cl
add eax, ecx
mov ecx, dword [0x180146d4c]
mov edx, dword [rsp + 0x294]
add edx, eax
mov eax, edx
add ecx, eax
mov eax, ecx
mov byte [str.U_This_legacy_API_is], al
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x298], eax
cmp dword [rsp + 0x298], 0
je 0x1800b4e70
cmp dword [rsp + 0x298], 1
je 0x1800b4e92
jmp 0x1800b4ef8
mov eax, 2
imul rax, rax, 0x61
lea rcx, [0x1811c2670]
movsx eax, word [rcx + rax]
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x6c], eax
jmp 0x1800b4ef8
movzx eax, byte [0x180146c2f]
movsx eax, al
xor eax, 0xfd6260b3
test eax, eax
jne 0x1800b4eb3
mov qword [rsp + 0x520], 1
jmp 0x1800b4ebf
mov qword [rsp + 0x520], 0
movsx rax, word [0x180146d30]
mov rcx, qword [0x180146cf8]
imul rax, rcx
mov rcx, qword [rsp + 0x520]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [0x180146d14]
mov eax, eax
mov qword [0x180146d18], rax
mov eax, dword [rsp + 0x114]
add eax, 0x584a
mov dword [rsp + 0x5e0], eax
movsx eax, word [0x180146d3c]
test eax, eax
je 0x1800b4f82
movzx eax, byte [rsp + 0x44]
movzx eax, al
test eax, eax
je 0x1800b4f3f
mov dword [rsp + 0x78], 8
mov rax, qword [0x180146d20]
sub rax, 0xd6
mov dword [0x180146d48], eax
jmp 0x1800b4f82
movzx eax, word [0x180146d0c]
movzx eax, ax
movzx ecx, byte [rsp + 0x44]
movzx ecx, cl
add eax, ecx
movzx ecx, word [0x180146d0c]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x180146d0c], ax
movsx rax, byte [rsp + 0x40]
mov rcx, qword [0x180146d68]
sub rcx, rax
mov rax, rcx
mov qword [0x180146d68], rax
mov eax, dword [rsp + 0x430]
mov ecx, dword [rsp + 0x434]
xor eax, ecx
xor eax, 0x54f8
mov ecx, dword [rsp + 0xbc]
mov edx, dword [rsp + 0xbc]
add ecx, edx
mov edx, dword [rsp + 0xbc]
mov edi, dword [rsp + 0xbc]
add edx, edi
xor ecx, edx
add eax, ecx
mov dword [rsp + 0x444], eax
movzx eax, word [rsp + 0x4c]
cwde
mov ecx, dword [0x180146d14]
imul eax, ecx
mov byte [0x180146c42], al
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x118], eax
lea rax, [rsp + 0x658]
lea rcx, [0x180111090]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x658]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x180146d28], ax
mov eax, dword [rsp + 0x118]
add eax, 0xde
mov dword [rsp + 0x2ac], eax
movzx eax, word [rsp + 0x58]
movzx ecx, word [rsp + 0x60]
movzx ecx, cx
cmp eax, ecx
je 0x1800b5058
movzx eax, byte [0x180146c87]
movzx eax, al
movabs rcx, 0x5706cf28a1859
sub rax, rcx
mov byte [0x180146c2e], al
jmp 0x1800b506a
movzx eax, byte [0x180146c43]
mov ecx, dword [rsp + 0x68]
xor eax, ecx
mov word [rsp + 0x60], ax
mov eax, dword [rsp + 0x118]
add eax, 0x8b7e
mov dword [rsp + 0x438], eax
mov eax, dword [rsp + 0x68]
movzx ecx, word [0x180146d60]
cmp eax, ecx
jge 0x1800b5099
mov dword [rsp + 0x2a0], 1
jmp 0x1800b50a4
mov dword [rsp + 0x2a0], 0
mov eax, dword [rsp + 0x68]
cmp eax, 0x2d
jge 0x1800b50ba
mov dword [rsp + 0x29c], 1
jmp 0x1800b50c5
mov dword [rsp + 0x29c], 0
mov eax, dword [rsp + 0x29c]
cmp dword [rsp + 0x2a0], eax
jl 0x1800b5152
movzx eax, byte [rsp + 0x44]
movzx eax, al
movzx ecx, byte [0x180146bc7]
movsx ecx, cl
cmp eax, ecx
jg 0x1800b50f8
mov dword [rsp + 0x2a8], 1
jmp 0x1800b5103
mov dword [rsp + 0x2a8], 0
movzx eax, byte [rsp + 0x44]
movzx eax, al
cmp eax, 0x4d
jg 0x1800b511d
mov dword [rsp + 0x2a4], 1
jmp 0x1800b5128
mov dword [rsp + 0x2a4], 0
mov eax, dword [rsp + 0x2a4]
cmp dword [rsp + 0x2a8], eax
jg 0x1800b513a
jmp 0x1800b5152
movzx eax, byte [0x180146bc7]
movsx eax, al
test eax, eax
jne 0x1800b5152
mov eax, dword [rsp + 0x118]
add eax, 0x34b3
mov dword [rsp + 0x5e4], eax
movzx eax, byte [0x180146bef]
movzx eax, al
movzx ecx, byte [rsp + 0x44]
movzx ecx, cl
cmp eax, ecx
jge 0x1800b51aa
mov eax, dword [0x180146c04]
add eax, 0x7027
mov byte [0x180146c03], al
movzx eax, word [rsp + 0x58]
mov ecx, 8
imul rcx, rcx, 0x8f19
lea rdx, [0x181133bf0]
mov qword [rdx + rcx], rax
jmp 0x1800b51c5
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x1800b51c5
movzx eax, word [rsp + 0x50]
cwde
shl eax, 2
cdqe
mov qword [rsp + 0x80], rax
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call fcn.1800953a0
mov byte [rsp + 0x40], al
movsx eax, byte [rsp + 0x40]
test eax, eax
jl 0x1800b5208
movsx rax, byte [0x180146caf]
mov rcx, qword [rsp + 0x98]
sub rax, rcx
movsx rcx, byte [0x180146caf]
sub rcx, rax
mov rax, rcx
mov byte [0x180146caf], al
mov eax, dword [rsp + 0x2ac]
mov ecx, dword [rsp + 0x2ac]
sub eax, ecx
mov ecx, dword [rsp + 0x438]
xor ecx, 0xe0
add eax, ecx
mov ecx, 0x8ef3
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x448], eax
movzx eax, word [0x180146d60]
test eax, eax
jle 0x1800b5412
movzx eax, byte [rsp + 0x44]
movzx eax, al
movzx ecx, byte [str.U_This_legacy_API_is]
movsx ecx, cl
cmp eax, ecx
jg 0x1800b5c2e
mov byte [0x180146caf], 3
movzx eax, byte [0x180146c5f]
movabs rcx, 0x5d3bfbcb4d125
add rax, rcx
mov qword [0x180146cf0], rax
movzx eax, byte [0x180146caf]
mov byte [rsp + 0xc0], al
cmp byte [rsp + 0xc0], 0
je 0x1800b5b31
cmp byte [rsp + 0xc0], 1
je 0x1800b5b5d
cmp byte [rsp + 0xc0], 2
je 0x1800b5b7b
cmp byte [rsp + 0xc0], 3
je 0x1800b5b8c
jmp 0x1800b5c2e
mov eax, dword [rsp + 0x68]
cdqe
mov rcx, qword [0x180146d18]
xor rcx, rax
mov rax, rcx
mov rcx, qword [0x180146d18]
xor rcx, rax
mov rax, rcx
mov qword [0x180146d18], rax
jmp 0x1800b5c2e
movzx eax, word [0x180146d58]
movzx eax, ax
movsx ecx, byte [rsp + 0x40]
not ecx
imul eax, ecx
mov word [rsp + 0x48], ax
jmp 0x1800b5c2e
mov qword [rsp + 0x90], 0xbd40
jmp 0x1800b5c2e
mov eax, dword [0x180146c44]
mov rcx, qword [rsp + 0x98]
imul rax, rcx
test rax, rax
jne 0x1800b5bb1
mov qword [rsp + 0x548], 1
jmp 0x1800b5bbd
mov qword [rsp + 0x548], 0
movzx eax, word [rsp + 0x48]
movzx eax, ax
movzx ecx, word [0x180146d60]
sub eax, ecx
mov ecx, 0x2588
sub ecx, eax
mov eax, ecx
cdqe
movzx ecx, byte [0x180146c2e]
movabs rdx, 0x8d35c53cf5c4d
imul rcx, rdx
not rcx
add rcx, qword [rsp + 0x548]
not rcx
add rax, rcx
mov qword [rsp + 0x88], rax
movzx eax, word [rsp + 0x48]
movzx eax, ax
movsx rcx, word [0x180146c5c]
movabs rdx, 0xb444e1e8f0b18
add rcx, rdx
add rax, rcx
mov word [0x180146c5c], ax
mov eax, dword [rsp + 0xc4]
mov ecx, dword [rsp + 0x450]
mov edx, dword [rsp + 0x454]
or edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0xc4]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, ecx
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov qword [rsp + 0x3e0], rax
cmp qword [rsp + 0x3e0], 0
jne 0x1800b5f92
movzx eax, byte [rsp + 0x44]
movzx eax, al
mov ecx, dword [rsp + 0x70]
imul eax, ecx
mov byte [0x180146c86], al
movsx eax, byte [rsp + 0x43]
test eax, eax
je 0x1800b5cb7
movzx eax, byte [0x180146c87]
movzx eax, al
mov dword [rsp + 0x2d4], eax
jmp 0x1800b5cc2
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x2d4], eax
movzx eax, byte [rsp + 0x2d4]
mov byte [rsp + 0x42], al
lea rax, [rsp + 0x6a0]
lea rcx, [0x1801110a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1c
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x6a0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x180146c03], al
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x128], eax
mov eax, 2
imul rax, rax, 0x17b6
lea rcx, [0x181211f30]
movsx rax, word [rcx + rax]
mov qword [0x180146d00], rax
movsx eax, byte [rsp + 0x42]
mov ecx, dword [rsp + 0x78]
sub ecx, eax
mov eax, ecx
mov byte [0x180146c5f], al
mov eax, dword [rsp + 0x458]
mov ecx, dword [rsp + 0x128]
add eax, ecx
mov dword [rsp + 0x468], eax
movzx eax, byte [rsp + 0x41]
movsx eax, al
mov ecx, dword [0x180146d4c]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x180146d4c]
add ecx, eax
mov eax, ecx
mov dword [0x180146d4c], eax
mov eax, dword [rsp + 0x45c]
mov ecx, dword [rsp + 0x128]
add eax, ecx
mov dword [rsp + 0x12c], eax
movzx eax, byte [0x180146c43]
test eax, eax
je 0x1800b5e33
movzx eax, byte [0x180146c43]
xor r9d, r9d
mov r8d, eax
xor edx, edx
mov ecx, 0x69
call fcn.180094760
mov byte [0x180146c03], al
movzx eax, byte [0x180146c03]
movzx eax, al
test eax, eax
je 0x1800b5dde
mov rax, qword [0x180146d68]
test rax, rax
je 0x1800b5ddc
mov byte [0x180146c5e], 0x16
jmp 0x1800b5e2e
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x1800b5e03
movzx eax, byte [rsp + 0x41]
movsx rax, al
movabs rcx, 0x90502e11a6dc8
sub rax, rcx
mov word [rsp + 0x58], ax
jmp 0x1800b5e2e
mov rax, qword [0x180146d50]
test rax, rax
je 0x1800b5e2e
movsx eax, word [0x180146d5c]
mov ecx, dword [rsp + 0x68]
add eax, ecx
mov byte [rsp + 0x41], al
mov eax, dword [0x180146c04]
add eax, 0x3e
mov word [rsp + 0x54], ax
jmp 0x1800b5f08
mov eax, dword [rsp + 0x6c]
test eax, eax
jne 0x1800b5e48
mov dword [rsp + 0x2d8], 1
jmp 0x1800b5e53
mov dword [rsp + 0x2d8], 0
mov eax, dword [rsp + 0x64]
cmp dword [rsp + 0x2d8], eax
jle 0x1800b5eb9
movzx eax, word [rsp + 0x48]
movzx eax, ax
test eax, eax
jne 0x1800b5e79
mov dword [rsp + 0x2dc], 1
jmp 0x1800b5e84
mov dword [rsp + 0x2dc], 0
movzx eax, byte [0x180146c87]
movzx eax, al
mov ecx, dword [rsp + 0x2dc]
imul ecx, eax
mov eax, ecx
mov dword [0x180146d34], eax
movzx eax, byte [0x180146c5e]
movzx ecx, word [rsp + 0x48]
movzx ecx, cx
sub eax, ecx
mov byte [0x180146c5e], al
jmp 0x1800b5f08
movsx eax, word [0x180146d5c]
test eax, eax
je 0x1800b5f08
mov eax, 4
imul rax, rax, 0x97
lea rcx, [0x181002000]
movzx eax, word [rcx + rax]
mov word [rsp + 0x5c], ax
movzx eax, byte [0x180146c03]
movzx eax, al
movzx ecx, word [rsp + 0x4c]
movsx ecx, cx
add eax, ecx
movzx ecx, byte [0x180146c03]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [0x180146c03], al
mov eax, dword [rsp + 0x460]
mov ecx, dword [rsp + 0x128]
add eax, ecx
mov dword [rsp + 0x5f4], eax
mov eax, dword [rsp + 0x12c]
mov ecx, dword [rsp + 0x12c]
mov edx, dword [rsp + 0x464]
sub ecx, edx
mov edx, dword [rsp + 0x12c]
mov edi, dword [rsp + 0x468]
sub edx, edi
add ecx, edx
cmp eax, ecx
je 0x1800b5f8d
movsx rax, word [0x180146d10]
mov rcx, qword [0x180146cf8]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x180146cf8]
sub rcx, rax
mov rax, rcx
mov qword [0x180146cf8], rax
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 6
jmp 0x1800b7d6f
jmp 0x1800b7401
mov eax, dword [rsp + 0x2e0]
mov ecx, dword [rsp + 0x46c]
mov edx, dword [rsp + 0x2e0]
lea ecx, [rcx + rdx + 0x2ff]
cmp eax, ecx
je 0x1800b7401
movzx eax, word [rsp + 0x48]
movzx eax, ax
movsx ecx, word [0x180146d3c]
cmp eax, ecx
jg 0x1800b5fd6
mov dword [rsp + 0x2e4], 1
jmp 0x1800b5fe1
mov dword [rsp + 0x2e4], 0
movzx eax, byte [0x180146c5f]
cmp dword [rsp + 0x2e4], eax
jle 0x1800b6013
mov eax, dword [rsp + 0x74]
add eax, 0x32
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x90]
mov ecx, 0xdd3a283a
sub rax, rcx
mov word [rsp + 0x54], ax
jmp 0x1800b6086
mov rax, qword [0x180146d20]
not rax
mov rcx, qword [0x180146d20]
cmp rax, rcx
jae 0x1800b6036
mov dword [rsp + 0x2e8], 1
jmp 0x1800b6041
mov dword [rsp + 0x2e8], 0
cmp dword [rsp + 0x2e8], 0
jl 0x1800b6086
mov eax, dword [0x181001ff0]
mov qword [rsp + 0x80], rax
movzx eax, byte [str.U_This_legacy_API_is]
movsx rax, al
mov rcx, qword [rsp + 0x90]
add rax, rcx
movzx ecx, byte [str.U_This_legacy_API_is]
movsx rcx, cl
or rcx, rax
mov rax, rcx
mov byte [str.U_This_legacy_API_is], al
movzx eax, word [rsp + 0x60]
movzx eax, ax
movsx ecx, byte [rsp + 0x42]
cmp eax, ecx
jg 0x1800b60c7
lea rax, [rsp + 0x6e8]
lea rcx, str.Authority
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x6e8]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x68], eax
jmp 0x1800b6111
movzx eax, word [rsp + 0x58]
cmp dword [0x180146c04], eax
je 0x1800b60e1
mov dword [rsp + 0x2ec], 1
jmp 0x1800b60ec
mov dword [rsp + 0x2ec], 0
movsx eax, word [0x180146c5c]
mov ecx, dword [rsp + 0x2ec]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x1800b6111
movzx eax, byte [0x180146c87]
inc al
mov byte [0x180146c87], al
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x130], eax
movzx eax, byte [0x180146c5f]
test eax, eax
jne 0x1800b6136
mov dword [rsp + 0x2f0], 1
jmp 0x1800b6141
mov dword [rsp + 0x2f0], 0
mov eax, dword [0x180146d48]
cmp eax, dword [rsp + 0x2f0]
je 0x1800b6345
movsx eax, word [0x180146d30]
movsx ecx, word [rsp + 0x54]
cmp eax, ecx
jg 0x1800b6171
mov dword [rsp + 0x2f8], 1
jmp 0x1800b617c
mov dword [rsp + 0x2f8], 0
movsx eax, word [0x180146d30]
cmp eax, 0x39
jg 0x1800b6195
mov dword [rsp + 0x2f4], 1
jmp 0x1800b61a0
mov dword [rsp + 0x2f4], 0
mov eax, dword [rsp + 0x2f4]
cmp dword [rsp + 0x2f8], eax
jge 0x1800b61ff
mov eax, dword [0x180146d14]
movzx ecx, word [0x180146d58]
movzx ecx, cx
cmp eax, ecx
jb 0x1800b635b
jmp 0x1800b636c
mov eax, dword [0x180146d34]
test eax, eax
je 0x1800b636c
mov byte [0x180146c41], 0x3f
mov eax, dword [rsp + 0x130]
add eax, 0x700c
mov dword [rsp + 0x470], eax
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180094460
mov byte [rsp + 0x40], al
movsx eax, byte [rsp + 0x40]
test eax, eax
jge 0x1800b63b8
mov rax, qword [0x180146d40]
sub rax, 0xa
mov byte [rsp + 0x41], al
mov eax, dword [0x180146d4c]
test eax, eax
jne 0x1800b7427
mov dword [rsp + 0x38c], 1
jmp 0x1800b7432
mov dword [rsp + 0x38c], 0
mov eax, dword [0x180146d48]
not eax
imul eax, dword [rsp + 0x38c]
movsx ecx, byte [0x180146caf]
add eax, dword [rsp + 0x64]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0x49c]
mov rcx, qword [rsp + 0x3e0]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rsp + 0x3f0], rax
cmp qword [rsp + 0x3f0], 0
jne 0x1800b7abd
movzx eax, byte [0x180146c5f]
movsx ecx, word [rsp + 0x54]
not ecx
add ecx, dword [0x180146c44]
imul eax, ecx
movzx ecx, word [rsp + 0x60]
movzx ecx, cx
imul eax, ecx
mov byte [rsp + 0x41], al
movsx eax, word [0x180146d5c]
test eax, eax
jne 0x1800b74ce
mov dword [rsp + 0x390], 1
jmp 0x1800b74d9
mov dword [rsp + 0x390], 0
mov eax, dword [rsp + 0x390]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x74]
movzx ecx, word [0x180146d60]
cmp eax, ecx
jb 0x1800b7500
mov dword [rsp + 0x398], 1
jmp 0x1800b750b
mov dword [rsp + 0x398], 0
mov eax, dword [rsp + 0x74]
cmp eax, 0x2c
jb 0x1800b7521
mov dword [rsp + 0x394], 1
jmp 0x1800b752c
mov dword [rsp + 0x394], 0
mov eax, dword [rsp + 0x394]
cmp dword [rsp + 0x398], eax
jle 0x1800b757e
mov eax, dword [0x180146d4c]
mov eax, eax
mov rcx, qword [rsp + 0x88]
imul rax, rcx
mov ecx, dword [0x180146d4c]
mov ecx, ecx
add rcx, rax
mov rax, rcx
mov dword [0x180146d4c], eax
movzx eax, byte [0x180146bc7]
movsx eax, al
sub eax, 0x66ce
mov byte [0x180146bef], al
jmp 0x1800b7638
movzx eax, word [rsp + 0x58]
movzx ecx, byte [0x180146c2e]
not ecx
cmp eax, ecx
jne 0x1800b759d
mov dword [rsp + 0x3a0], 1
jmp 0x1800b75a8
mov dword [rsp + 0x3a0], 0
mov rax, qword [0x180146d68]
mov rcx, qword [0x180146cf8]
cmp rax, rcx
jbe 0x1800b75c8
mov dword [rsp + 0x39c], 1
jmp 0x1800b75d3
mov dword [rsp + 0x39c], 0
mov eax, dword [rsp + 0x39c]
cmp dword [rsp + 0x3a0], eax
jne 0x1800b7638
movzx eax, word [rsp + 0x58]
mov ecx, dword [rsp + 0x78]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x1800b7601
mov dword [rsp + 0x3a4], 1
jmp 0x1800b760c
mov dword [rsp + 0x3a4], 0
mov eax, dword [rsp + 0x70]
not eax
xor eax, 0x51213ec1
movsx ecx, byte [0x180146caf]
movzx edx, byte [0x180146c5e]
and ecx, edx
not ecx
or eax, ecx
sub eax, dword [rsp + 0x3a4]
mov dword [0x180146d64], eax
mov eax, dword [0x181001ff0]
mov dword [rsp + 0x14c], eax
mov eax, dword [0x180146d48]
mov eax, eax
mov rcx, qword [rsp + 0x98]
cmp rax, rcx
jle 0x1800b77d1
mov eax, dword [0x180146d14]
movsx ecx, byte [rsp + 0x40]
cmp eax, ecx
jb 0x1800b767a
mov dword [rsp + 0x3ac], 1
jmp 0x1800b7685
mov dword [rsp + 0x3ac], 0
mov eax, dword [0x180146d14]
cmp eax, 0x32
jb 0x1800b769d
mov eax, dword [rsp + 0x4a0]
mov ecx, dword [rsp + 0x14c]
add eax, ecx
mov dword [rsp + 0x3c8], eax
mov eax, 1
mov word [0x180146d28], ax
movsx eax, byte [rsp + 0x40]
movzx ecx, byte [0x180146c2f]
movsx ecx, cl
add eax, ecx
movsx ecx, byte [rsp + 0x40]
or ecx, eax
mov eax, ecx
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x64]
add eax, 0xc8
mov dword [rsp + 0x64], eax
movzx eax, word [0x180146d28]
cwde
mov dword [rsp + 0x3b8], eax
cmp dword [rsp + 0x3b8], 0
je 0x1800b7847
cmp dword [rsp + 0x3b8], 1
je 0x1800b7886
movsx rax, byte [0x180146caf]
movabs rcx, 0x16567488959e5
sub rax, rcx
mov byte [0x180146c43], al
mov rax, qword [0x180146cf8]
mov ecx, dword [rsp + 0x70]
movsxd rcx, ecx
movabs rdx, 0x848c98b4680e6
add rcx, rdx
add rax, rcx
mov dword [rsp + 0x70], eax
jmp 0x1800b78dd
movsx eax, byte [0x180146caf]
movzx ecx, word [rsp + 0x60]
movzx ecx, cx
cmp eax, ecx
jg 0x1800b7add
mov dword [rsp + 0x3d4], 1
jmp 0x1800b7ae8
mov dword [rsp + 0x3d4], 0
movzx eax, byte [0x180146bee]
movsx eax, al
or eax, dword [rsp + 0x3d4]
not eax
test eax, eax
je 0x1800b7c2e
mov dword [rsp + 0x70], 3
mov eax, dword [0x181001ff0]
mov dword [0x180146d38], eax
movzx eax, word [0x181001ff0]
mov word [0x180146d5c], ax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0xc8], 0
je 0x1800b7b61
cmp dword [rsp + 0xc8], 1
je 0x1800b7b81
cmp dword [rsp + 0xc8], 2
je 0x1800b7bcb
cmp dword [rsp + 0xc8], 3
je 0x1800b7c02
jmp 0x1800b7c2e
mov eax, dword [rsp + 0x6c]
mov eax, eax
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
mov word [0x180146d58], ax
jmp 0x1800b7c2e
movsx eax, word [0x180146d5c]
test eax, eax
jne 0x1800b7b99
mov dword [rsp + 0x3d8], 1
jmp 0x1800b7ba4
mov dword [rsp + 0x3d8], 0
movzx eax, byte [rsp + 0x41]
movsx eax, al
sub eax, dword [rsp + 0x3d8]
movzx ecx, word [0x180146d58]
movzx ecx, cx
sub eax, ecx
cdqe
mov qword [rsp + 0x80], rax
jmp 0x1800b7c2e
mov rax, qword [rsp + 0x90]
dec rax
mov qword [rsp + 0x90], rax
movzx eax, word [rsp + 0x4c]
cwde
movzx ecx, word [rsp + 0x50]
movsx ecx, cx
imul eax, ecx
movzx ecx, word [rsp + 0x4c]
movsx ecx, cx
add ecx, eax
mov eax, ecx
mov word [rsp + 0x4c], ax
jmp 0x1800b7c2e
mov rax, qword [0x180146d18]
movabs rcx, 0x22b62447ceba6
add rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x70]
sub eax, 3
cdqe
mov qword [0x180146d20], rax
mov r9, qword [rsp + 0x850]
mov r8, qword [rsp + 0x3f0]
mov rdx, qword [rsp + 0x848]
mov rcx, qword [rsp + 0x840]
call fcn.1800caa20
mov dword [rsp + 0xa4], eax
mov byte [rsp + 0x42], 0x5e
mov rcx, qword [rsp + 0x3f0]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
movzx eax, byte [0x180146bee]
movsx eax, al
not eax
movzx ecx, word [rsp + 0x4c]
movsx ecx, cx
sub eax, ecx
movsx ecx, word [0x180146d30]
movsx edx, word [0x180146d30]
sub ecx, edx
add eax, ecx
movzx ecx, byte [0x180146c5f]
add eax, ecx
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x6c]
mov eax, eax
movabs rcx, 0x89333fae8e937
sub rax, rcx
movsx rcx, byte [rsp + 0x40]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x40], al
mov rcx, qword [rsp + 0x3e0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x64]
not eax
cdqe
mov rcx, qword [0x180146d00]
xor rcx, rax
mov rax, rcx
mov word [rsp + 0x60], ax
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movzx eax, word [rsp + 0x58]
test eax, eax
jne 0x1800b7d13
mov qword [rsp + 0x568], 1
jmp 0x1800b7d1f
mov qword [rsp + 0x568], 0
mov rax, qword [0x180146d50]
imul rax, qword [rsp + 0x568]
not rax
movsx ecx, byte [rsp + 0x42]
xor ecx, 0xffffff07
movsxd rcx, ecx
and rax, rcx
not rax
mov word [0x180146d60], ax
movzx eax, word [rsp + 0x50]
movsx rax, ax
movabs rcx, 0x866a9e3f24ad2
imul rax, rcx
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0xa4]
add rsp, 0x828
pop rdi
pop rsi
ret