Function at 0x18005cc80
Capabilities:
Enumerate process modules
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x3a8
mov eax, 0xb689
mov word [rsp + 0x218], ax
movzx eax, byte [0x1800c3747]
mov byte [rsp + 0x22], al
mov qword [rsp + 0x60], 0x4fb5
mov rax, qword [0x1800c3808]
mov qword [rsp + 0x1a0], rax
mov eax, 0x1a07
mov word [rsp + 0x28], ax
movzx eax, byte [0x1800c3747]
mov byte [rsp + 0x21], al
mov dword [rsp + 0x3c], 0xc273
movsx ax, byte [0x1800c371e]
mov word [rsp + 0x24], ax
movzx eax, word [0x1800c377c]
mov word [rsp + 0x38], ax
mov dword [rsp + 0x44], 0xc0e6
mov eax, 0xd49151c3
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 0xf5
mov byte [rsp + 0x2c], 0x75
mov qword [rsp + 0x68], 0x48
mov dword [rsp + 0x58], 0x3c00
mov eax, 0xffffe080
mov word [rsp + 0x34], ax
movzx eax, word [0x1800c3818]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1800c37e8]
mov byte [rsp + 0x2d], al
mov rax, qword [0x1800c3810]
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x20], 0x1b
mov dword [rsp + 0x80], 0xe5
movzx eax, word [0x1800c382c]
movzx eax, ax
mov qword [rsp + 0x70], rax
mov eax, 0x4c77
mov word [rsp + 0x21c], ax
mov eax, 0x90e0245a
mov qword [rsp + 0x2f0], rax
mov eax, dword [0x1800c37f0]
mov qword [rsp + 0x2f8], rax
mov dword [rsp + 0x290], 0x12a3d488
mov eax, 0xffffeb6a
mov word [rsp + 0x230], ax
movzx eax, byte [0x1800c3747]
movzx eax, al
mov qword [rsp + 0x300], rax
movzx eax, byte [0x1800c3818]
mov byte [rsp + 0xb0], al
mov eax, dword [0x1800c37e4]
mov dword [rsp + 0x294], eax
movzx eax, word [0x1800c3804]
test eax, eax
je 0x18005cdf9
jmp 0x18005ce2c
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x18005ce12
mov eax, dword [0x1800c37f0]
mov dword [rsp + 0x198], eax
jmp 0x18005ce1e
movzx eax, word [rsp + 0x30]
mov dword [rsp + 0x198], eax
mov eax, dword [rsp + 0x198]
mov qword [str.yLSD], rax
mov eax, dword [0x180895650]
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0xd4]
add eax, 0x309
mov dword [rsp + 0x228], eax
mov eax, dword [rsp + 0xd4]
add eax, 0x106
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0x44], 0
mov eax, dword [rsp + 0x40]
mov eax, eax
mov rcx, qword [rsp + 0x50]
xor rax, rcx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x214], eax
cmp dword [rsp + 0x214], 0
je 0x18005ce90
jmp 0x18005ce9e
movzx eax, word [0x180895650]
mov word [0x1800c3824], ax
mov eax, dword [rsp + 0xd4]
add eax, 0x253
mov dword [rsp + 0x88], eax
mov eax, dword [0x180895650]
mov dword [rsp + 0x8c], eax
movzx eax, word [rsp + 0x24]
mov rcx, qword [rsp + 0x48]
add rax, rcx
movzx ecx, word [rsp + 0x24]
add rcx, rax
mov rax, rcx
mov word [rsp + 0x24], ax
movzx eax, byte [rsp + 0x21]
mov word [0x1800c3804], ax
mov eax, dword [rsp + 0x8c]
add eax, 0x2fe
mov dword [rsp + 0x1b4], eax
mov eax, dword [rsp + 0x8c]
add eax, 0x3c7
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x40]
sub eax, 0xa78c
mov eax, eax
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x8c]
add eax, 0x3ec
mov dword [rsp + 0xe4], eax
mov eax, dword [0x180895650]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x90]
add eax, 0x109
mov dword [rsp + 0x298], eax
mov rax, qword [rsp + 0x48]
movabs rcx, 0x90355e288b275
imul rax, rcx
movzx ecx, byte [rsp + 0x2c]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x2c], al
movsx eax, byte [0x1800c36f7]
imul eax, eax, 0xec1f
mov dword [0x1800c37f0], eax
mov eax, dword [rsp + 0x90]
add eax, 0x2f0
mov dword [rsp + 0x2bc], eax
mov eax, dword [rsp + 0x90]
add eax, 0x4b
mov dword [rsp + 0x84], eax
movabs rax, 0x4dfd23149b431
mov rcx, qword [0x1800c3848]
and rcx, rax
mov rax, rcx
mov byte [str.Eee_], al
movzx eax, word [0x1800c37f4]
test eax, eax
jne 0x18005cfdc
mov qword [rsp + 0x258], 1
jmp 0x18005cfe8
mov qword [rsp + 0x258], 0
movabs rax, 0x84220b37abcf4
sub rax, qword [rsp + 0x258]
movsxd rcx, dword [rsp + 0x80]
imul rax, rcx
movzx ecx, word [rsp + 0x24]
movzx edx, byte [0x1800c36f6]
movsx edx, dl
sub ecx, edx
and ecx, 0x4643a63b
movsxd rcx, ecx
sub rax, rcx
mov qword [rsp + 0x60], rax
mov eax, dword [0x180895650]
mov dword [rsp + 0x94], eax
mov eax, dword [0x1800c3828]
imul eax, eax, 0xc05d8a70
mov word [rsp + 0x24], ax
mov eax, dword [0x1800c3800]
mov word [0x1800c3830], ax
mov eax, dword [rsp + 0x94]
add eax, 0x325
mov dword [rsp + 0x2b8], eax
mov eax, dword [rsp + 0x94]
add eax, 0x332
mov dword [rsp + 0x194], eax
mov eax, dword [rsp + 0x94]
add eax, 0x389
mov dword [rsp + 0x190], eax
mov eax, dword [0x180895650]
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x58]
cmp eax, dword [rsp + 0x3c]
jne 0x18005d1dd
mov qword [rsp + 0x60], 2
movzx eax, word [0x180895650]
mov word [rsp + 0x24], ax
movzx eax, byte [0x1800c3747]
movzx eax, al
mov rcx, qword [rsp + 0x68]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x220], rax
cmp qword [rsp + 0x220], 0
je 0x18005d115
cmp qword [rsp + 0x220], 1
je 0x18005d143
cmp qword [rsp + 0x220], 2
je 0x18005d188
jmp 0x18005d1d8
movzx eax, word [0x1800c3830]
movzx eax, ax
mov rcx, qword [rsp + 0x48]
sub rax, rcx
movzx ecx, word [0x1800c3830]
movzx ecx, cx
add rcx, rax
mov rax, rcx
mov word [0x1800c3830], ax
jmp 0x18005d1d8
mov eax, dword [0x1800c37e4]
test eax, eax
je 0x18005d15d
movsx eax, byte [0x1800c3746]
mov dword [rsp + 0x19c], eax
jmp 0x18005d168
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x19c], eax
mov eax, dword [rsp + 0x19c]
mov dword [0x1800c37e4], eax
movzx eax, word [rsp + 0x34]
cwde
and eax, 0x354
mov byte [0x1800c36f7], al
jmp 0x18005d1d8
movzx eax, word [rsp + 0x38]
test eax, eax
je 0x18005d1a0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x260], rax
jmp 0x18005d1af
mov rax, qword [0x1800c3818]
mov qword [rsp + 0x260], rax
mov eax, dword [rsp + 0x260]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x68]
mov ecx, 0xd3c86c72
imul rax, rcx
mov ecx, dword [rsp + 0x44]
mov ecx, ecx
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x44], eax
jmp 0x18005d277
movzx eax, byte [str.Eee_]
test eax, eax
je 0x18005d202
movsx eax, byte [0x1800c371f]
not eax
test eax, eax
je 0x18005d202
mov dword [rsp + 0xe0], 0
jmp 0x18005d20d
mov dword [rsp + 0xe0], 1
movzx eax, byte [str.Eee_]
movabs rcx, 0xe664540fb5e83
cmp rax, rcx
jne 0x18005d230
mov dword [rsp + 0xdc], 1
jmp 0x18005d23b
mov dword [rsp + 0xdc], 0
mov eax, dword [rsp + 0xdc]
cmp dword [rsp + 0xe0], eax
jg 0x18005d25d
movsx eax, byte [0x1800c371e]
sub eax, 0x26a9
mov dword [rsp + 0x40], eax
jmp 0x18005d277
cmp qword [0x1800c3808], 0
je 0x18005d277
mov rax, qword [rsp + 0x60]
sar rax, 4
mov qword [0x1800c3838], rax
mov eax, dword [rsp + 0x98]
add eax, 0x92a0
mov dword [rsp + 0x2b0], eax
lea rax, [rsp + 0x308]
lea rcx, str.Getting_device_acc
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x308]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
cdqe
mov qword [str.yLSD], rax
mov eax, dword [rsp + 0x98]
add eax, 0x4cdd
mov dword [rsp + 0x2b4], eax
mov eax, dword [rsp + 0x98]
add eax, 0x7c
mov dword [rsp + 0x22c], eax
movzx eax, word [0x1800c3830]
movzx eax, ax
test eax, eax
je 0x18005d30a
movzx eax, word [0x1800c37f4]
mov rcx, qword [str.yLSD]
add rcx, rax
mov rax, rcx
mov qword [str.yLSD], rax
movzx eax, byte [0x1800c3747]
movzx eax, al
movsx ecx, word [0x1800c37e0]
add eax, ecx
mov byte [0x1800c3747], al
mov eax, dword [rsp + 0x22c]
xor eax, 0x6d
mov ecx, 0x11
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x9c]
mov edx, dword [rsp + 0x88]
imul ecx, edx
mov edx, dword [rsp + 0x88]
mov edi, dword [rsp + 0x228]
imul edx, edi
add ecx, edx
mov edx, dword [rsp + 0x9c]
mov edi, dword [rsp + 0x88]
imul edx, edi
mov edi, dword [rsp + 0x88]
mov esi, dword [rsp + 0x9c]
imul edi, esi
sub edx, edi
imul ecx, edx
add eax, ecx
mov dword [rsp + 0x1dc], eax
mov eax, dword [0x180895650]
mov dword [rsp + 0xa0], eax
mov rax, qword [0x1800c3818]
sub rax, 0x401cd12b
mov dword [0x1800c3834], eax
mov eax, dword [rsp + 0xa0]
add eax, 0xb9
mov dword [rsp + 0x1b0], eax
movzx eax, byte [rsp + 0x28]
mov byte [rsp + 0x2c], al
mov eax, dword [rsp + 0xa0]
add eax, 0xf2f6
mov dword [rsp + 0x2ac], eax
xor eax, eax
mov word [0x1800c3840], ax
movsx eax, byte [0x1800c36f7]
test eax, eax
je 0x18005d3fe
mov rax, qword [0x1800c3808]
mov qword [rsp + 0x268], rax
jmp 0x18005d410
movzx eax, byte [0x1800c3747]
movzx eax, al
mov qword [rsp + 0x268], rax
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0x1a0], rax
mov eax, dword [rsp + 0x44]
mov eax, eax
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x70]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
movzx eax, word [0x1800c3840]
movzx eax, ax
mov dword [rsp + 0x1a8], eax
cmp dword [rsp + 0x1a8], 0
je 0x18005d45e
jmp 0x18005d47c
movsx eax, byte [0x1800c371e]
movzx ecx, byte [str.Eee_]
add eax, ecx
mov ecx, dword [rsp + 0x44]
xor ecx, eax
mov eax, ecx
mov byte [str.Eee_], al
mov eax, dword [rsp + 0xa0]
add eax, 0x70c8
mov dword [rsp + 0x2a8], eax
xor eax, eax
mov word [0x1800c3794], ax
movzx eax, byte [0x1800c3747]
movzx eax, al
movzx ecx, word [0x1800c3830]
movzx ecx, cx
sub eax, ecx
mov byte [0x1800c3747], al
movsx eax, word [0x1800c3794]
mov dword [rsp + 0x1ac], eax
cmp dword [rsp + 0x1ac], 0
je 0x18005d4ce
jmp 0x18005d4f9
movzx eax, byte [str.0The_size_of_header]
add eax, 0x4904c413
mov word [0x1800c377c], ax
mov eax, dword [0x1800c3828]
cdqe
mov rcx, qword [0x1800c3810]
add rax, rcx
mov dword [0x1800c3828], eax
mov byte [rsp + 0x21], 8
mov eax, dword [rsp + 0x1b0]
add eax, 0x75ba
mov ecx, 0x7673
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x78]
mov edx, dword [rsp + 0x78]
xor ecx, edx
mov edx, dword [rsp + 0x78]
mov edi, dword [rsp + 0x78]
xor edx, edi
add ecx, edx
mov edx, dword [rsp + 0x78]
mov edi, dword [rsp + 0xe4]
xor edx, edi
mov edi, dword [rsp + 0x1b4]
mov esi, dword [rsp + 0xe4]
add edi, esi
imul edx, edi
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x1e0], eax
mov eax, dword [0x180895650]
mov dword [rsp + 0xa4], eax
mov rax, qword [0x1800c3810]
movzx ecx, byte [0x1800c377e]
movsx rcx, cl
cmp rax, rcx
jb 0x18005d5a9
lea rax, [rsp + 0x320]
lea rcx, str.x_ebcdic_koreanext
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x320]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [str.0The_size_of_header], al
mov eax, dword [rsp + 0xa4]
add eax, 0x8c
mov dword [rsp + 0x1bc], eax
lea rax, [rsp + 0x370]
lea rcx, str.._AV_com_error__
mov rdi, rax
mov rsi, rcx
mov ecx, 0x22
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x370]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [str.Eee_], al
mov eax, dword [rsp + 0xa4]
add eax, 0x10e
mov dword [rsp + 0x2a4], eax
mov eax, dword [rsp + 0xa4]
add eax, 0x71
mov dword [rsp + 0x1b8], eax
mov eax, dword [rsp + 0x1b8]
mov ecx, dword [rsp + 0x1bc]
xor eax, ecx
xor eax, 0x26e
mov dword [rsp + 0x1e4], eax
mov eax, dword [0x180895650]
mov dword [rsp + 0xa8], eax
movzx eax, word [0x1800c3824]
cwde
imul eax, eax, 0x43b
movsx ecx, word [rsp + 0x28]
movzx edx, word [0x1800c3840]
movzx edx, dx
add ecx, edx
sub eax, ecx
mov byte [rsp + 0x2d], al
mov eax, 2
imul rax, rax, 3
lea rcx, [0x1809442e0]
movzx edx, word [rsp + 0x30]
mov word [rcx + rax], dx
mov eax, dword [rsp + 0xa8]
add eax, 0x60f5
mov dword [rsp + 0x2e4], eax
mov eax, dword [rsp + 0xa8]
add eax, 0x827
mov dword [rsp + 0xec], eax
movzx eax, byte [0x1800c3747]
movzx eax, al
cmp eax, dword [0x1800c3834]
jb 0x18005d74e
movzx eax, word [0x1800c3830]
movzx eax, ax
test eax, eax
je 0x18005d6e2
movzx eax, word [rsp + 0x34]
cwde
sar eax, 3
cdqe
mov qword [str.yLSD], rax
mov eax, dword [0x180895650]
mov qword [0x1800c3808], rax
jmp 0x18005d74c
mov rax, qword [rsp + 0x68]
cmp qword [0x1800c3808], rax
jg 0x18005d6fd
mov dword [rsp + 0xe8], 1
jmp 0x18005d708
mov dword [rsp + 0xe8], 0
movzx eax, word [0x1800c37f4]
cmp dword [rsp + 0xe8], eax
jne 0x18005d74c
movsx rax, byte [0x1800c3746]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
movsx rax, byte [0x1800c371e]
mov rcx, qword [0x1800c37e8]
imul rcx, rax
mov rax, rcx
mov byte [0x1800c3747], al
jmp 0x18005d78b
movzx eax, byte [rsp + 0x2d]
sar eax, 5
cdqe
mov qword [0x1800c3818], rax
movzx eax, word [0x1800c3840]
movzx eax, ax
mov ecx, dword [rsp + 0x44]
mov ecx, ecx
mov rdx, qword [rsp + 0x60]
sub rdx, rcx
mov rcx, rdx
and rcx, 0x69d5bf40
add rax, rcx
mov qword [0x1800c3848], rax
mov eax, dword [rsp + 0xa8]
add eax, 0xccc7
mov dword [rsp + 0x2c0], eax
mov eax, 0xf5a8
mov word [0x1800c37f4], ax
movzx eax, word [rsp + 0x24]
add eax, 0xbe
cdqe
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0xec]
mov ecx, dword [rsp + 0xec]
sub eax, ecx
xor eax, 0xbe
mov dword [rsp + 0x1e8], eax
mov eax, dword [0x180895650]
mov dword [rsp + 0xac], eax
mov eax, dword [rsp + 0xac]
add eax, 0x9d1a
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0xac]
add eax, 0x55
mov dword [rsp + 0x2c4], eax
movzx eax, byte [0x1800c3747]
movzx eax, al
xor eax, 0x9714bfbf
movzx ecx, word [rsp + 0x34]
movsx ecx, cx
movzx edx, word [0x1800c3804]
imul edx, dword [rsp + 0x80]
sub ecx, edx
add eax, ecx
mov eax, eax
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0xac]
add eax, 0x8b28
mov dword [rsp + 0x2c8], eax
mov rax, qword [rsp + 0x70]
movzx ecx, byte [rsp + 0x22]
cmp rax, rcx
jle 0x18005d85d
jmp 0x18005d8d0
cmp dword [0x1800c3834], 0
jne 0x18005d873
mov dword [rsp + 0xf0], 1
jmp 0x18005d87e
mov dword [rsp + 0xf0], 0
movzx eax, byte [rsp + 0x22]
cmp dword [rsp + 0xf0], eax
jg 0x18005d8d0
movzx eax, byte [0x1800c37f0]
mov byte [0x1800c3766], al
movzx eax, byte [0x1800c3747]
movzx eax, al
movzx ecx, word [0x1800c377c]
movzx ecx, cx
xor eax, ecx
cdqe
movsx rcx, byte [0x1800c36f3]
mov rdx, qword [rsp + 0x60]
imul rdx, rcx
mov rcx, rdx
imul rax, rcx
mov word [0x1800c382c], ax
mov eax, dword [rsp + 0xf4]
mov ecx, dword [rsp + 0xf4]
sub eax, ecx
xor eax, 0x163
mov dword [rsp + 0x1ec], eax
movzx eax, byte [rsp + 0x22]
not eax
movsx ecx, byte [0x1800c3746]
not ecx
mov edx, dword [0x1800c37e4]
add edx, ecx
mov ecx, edx
imul eax, ecx
mov byte [0x1800c36f6], al
mov dword [0x1800c3834], 0xe42e06a0
mov eax, dword [0x180895650]
mov dword [rsp + 0xc4], eax
movzx eax, byte [0x1800c3766]
test eax, eax
jg 0x18005d95e
mov eax, dword [rsp + 0x3c]
add eax, 0x36
mov byte [str.0The_size_of_header], al
movzx eax, byte [str.Eee_]
movabs rcx, 0xdf5d9313411d9
sub rax, rcx
mov qword [0x1800c3808], rax
jmp 0x18005d9e5
movzx eax, word [0x1800c3824]
cwde
not eax
test eax, eax
jne 0x18005d987
movzx eax, word [0x1800c377c]
movzx eax, ax
test eax, eax
je 0x18005d987
mov dword [rsp + 0xfc], 0
jmp 0x18005d992
mov dword [rsp + 0xfc], 1
movzx eax, byte [str.Eee_]
not eax
test eax, eax
jne 0x18005d9b8
mov rax, qword [0x1800c3810]
test rax, rax
jne 0x18005d9b8
mov dword [rsp + 0xf8], 0
jmp 0x18005d9c3
mov dword [rsp + 0xf8], 1
mov eax, dword [rsp + 0xf8]
not eax
mov ecx, dword [rsp + 0xfc]
imul ecx, eax
mov eax, ecx
test eax, eax
je 0x18005d9e5
mov rax, qword [rsp + 0x60]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0xc4]
add eax, 0x68
mov dword [rsp + 0x1c4], eax
mov eax, 4
imul rax, rax, 0x1278
lea rcx, [0x1809442f0]
mov edx, dword [0x1800c3848]
mov dword [rcx + rax], edx
movzx eax, byte [0x1800c377e]
movsx eax, al
movsx ecx, byte [0x1800c3746]
add eax, ecx
test eax, eax
jne 0x18005da37
mov qword [rsp + 0x270], 1
jmp 0x18005da43
mov qword [rsp + 0x270], 0
movzx eax, byte [str.Eee_]
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x270]
sub rcx, rax
mov rax, rcx
mov ecx, dword [0x1800c3800]
add ecx, dword [0x1800c3834]
mov ecx, ecx
imul rax, rcx
mov word [0x1800c37f4], ax
mov eax, dword [rsp + 0xc4]
add eax, 0x5450
mov dword [rsp + 0x1c0], eax
lea rax, [rsp + 0x350]
lea rcx, str.windows_1251
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1a
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x350]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x1800c3747], al
mov eax, dword [rsp + 0xc4]
add eax, 0x5f39
mov dword [rsp + 0x100], eax
mov eax, dword [rsp + 0x40]
shr eax, 6
mov byte [0x1800c3747], al
mov eax, dword [rsp + 0x1c0]
mov ecx, dword [rsp + 0x100]
sub eax, ecx
mov ecx, dword [rsp + 0x100]
mov edx, dword [rsp + 0x1c4]
imul ecx, edx
add eax, ecx
mov ecx, 0x26a815
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x1f4], eax
mov eax, dword [0x180895650]
mov dword [rsp + 0xb4], eax
movsx eax, byte [0x1800c371e]
test eax, eax
je 0x18005db48
movzx eax, byte [0x180895650]
mov byte [0x1800c377e], al
mov rax, qword [0x1800c3848]
shl rax, 8
mov byte [rsp + 0x21], al
jmp 0x18005db8c
mov eax, dword [rsp + 0x44]
not eax
test eax, eax
je 0x18005db8c
movzx eax, word [0x1800c382c]
movzx eax, ax
mov rcx, qword [rsp + 0x70]
add rax, rcx
movzx ecx, word [0x1800c382c]
movzx ecx, cx
sub rcx, rax
mov rax, rcx
mov word [0x1800c382c], ax
mov rax, qword [rsp + 0x68]
and rax, 0xeb
mov byte [0x1800c377e], al
mov eax, dword [rsp + 0xb4]
add eax, 0x16
mov dword [rsp + 0x2cc], eax
mov eax, dword [rsp + 0xb4]
add eax, 0xc562
mov dword [rsp + 0x104], eax
mov rax, qword [0x1800c3838]
shr rax, 4
mov word [rsp + 0x30], ax
movzx eax, byte [rsp + 0x20]
mov ecx, dword [0x1800c3820]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x1800c3820]
add ecx, eax
mov eax, ecx
mov dword [0x1800c3820], eax
mov eax, dword [rsp + 0xb4]
add eax, 0xad
mov dword [rsp + 0x1c8], eax
mov eax, dword [rsp + 0x58]
xor eax, 0x17d6
mov eax, eax
mov rcx, qword [0x1800c37e8]
add rcx, rax
mov rax, rcx
mov qword [0x1800c37e8], rax
mov eax, dword [rsp + 0x104]
or eax, 0xe0
mov ecx, dword [rsp + 0x1c8]
mov edx, dword [rsp + 0x104]
xor ecx, edx
or eax, ecx
add eax, 0xffff3b20
mov dword [rsp + 0x1f8], eax
movzx eax, byte [rsp + 0x20]
test eax, eax
je 0x18005dce1
mov qword [rsp + 0x70], 1
movzx eax, word [rsp + 0x24]
imul eax, eax, 0x45
mov word [0x1800c377c], ax
movzx eax, byte [0x1800c377e]
movsx eax, al
test eax, eax
je 0x18005dc7c
movzx eax, word [rsp + 0x30]
mov dword [rsp + 0x108], eax
jmp 0x18005dc88
movzx eax, byte [rsp + 0x2d]
mov dword [rsp + 0x108], eax
mov eax, dword [rsp + 0x108]
mov dword [0x1800c37e4], eax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x278], rax
cmp qword [rsp + 0x278], 0
je 0x18005dcba
cmp qword [rsp + 0x278], 1
je 0x18005dcc1
jmp 0x18005dcdf
mov byte [rsp + 0x22], 0xb5
jmp 0x18005dcdf
movsx eax, byte [0x1800c36f7]
sub eax, 0x73f2f699
mov dword [0x1800c3828], eax
mov eax, dword [rsp + 0x40]
add eax, dword [rsp + 0x3c]
mov dword [rsp + 0x40], eax
jmp 0x18005dd3f
movzx eax, word [rsp + 0x38]
test eax, eax
jne 0x18005dd02
movzx eax, word [rsp + 0x38]
not eax
test eax, eax
jne 0x18005dd02
mov dword [rsp + 0x10c], 0
jmp 0x18005dd0d
mov dword [rsp + 0x10c], 1
movsx eax, byte [0x1800c371f]
mov ecx, dword [rsp + 0x44]
add eax, ecx
cmp eax, dword [rsp + 0x10c]
jbe 0x18005dd3f
mov qword [rsp + 0x60], 4
movsx rax, word [rsp + 0x28]
mov rcx, qword [rsp + 0x70]
sub rax, rcx
mov word [rsp + 0x28], ax
mov eax, dword [0x180895650]
mov dword [rsp + 0xb8], eax
movsx eax, word [rsp + 0x28]
movzx ecx, byte [str.0The_size_of_header]
sub eax, ecx
movsx ecx, word [rsp + 0x28]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x28], ax
mov eax, dword [rsp + 0xb8]
add eax, 0x4369
mov dword [rsp + 0x1cc], eax
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18005dd87
jmp 0x18005dde1
movzx eax, word [0x1800c3824]
movsx rax, ax
movabs rcx, 0x661c0b65c29fd
add rax, rcx
mov qword [0x1800c3848], rax
movzx eax, word [0x1800c377c]
movzx eax, ax
test eax, eax
je 0x18005ddc5
mov rax, qword [0x1800c3810]
mov qword [rsp + 0x280], rax
jmp 0x18005ddd4
mov rax, qword [0x1800c3810]
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0xb8]
add eax, 0xee7c
mov dword [rsp + 0x2d0], eax
movsx eax, byte [0x1800c371f]
cmp eax, 0x552a
jne 0x18005de04
jmp 0x18005de29
mov eax, 0x3634
mov word [rsp + 0x30], ax
movzx eax, byte [rsp + 0x22]
movsx ecx, byte [0x1800c3746]
add eax, ecx
movzx ecx, byte [rsp + 0x22]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x22], al
mov eax, dword [rsp + 0xb8]
add eax, 0xe1
mov dword [rsp + 0x2d4], eax
movzx eax, byte [0x1800c3766]
inc al
mov byte [0x1800c3766], al
mov eax, dword [rsp + 0x1cc]
xor eax, 0x44
mov ecx, 0x4527
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x84]
add ecx, 0x30
mov edx, dword [rsp + 0x84]
add edx, 0x30
imul ecx, edx
mov edx, dword [rsp + 0x84]
add edx, 0x30
mov edi, dword [rsp + 0x84]
xor edi, 0x30
imul edx, edi
xor ecx, edx
sub eax, ecx
mov dword [rsp + 0x1fc], eax
mov eax, dword [0x180895650]
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0xbc]
add eax, 0xf4cb
mov dword [rsp + 0x1d0], eax
mov eax, dword [rsp + 0xbc]
add eax, 0xf11e
mov dword [rsp + 0x1d4], eax
movzx eax, byte [rsp + 0x20]
mov ecx, dword [0x1800c3820]
add eax, ecx
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0xbc]
add eax, 0x41
mov dword [rsp + 0x2d8], eax
movsx eax, byte [0x1800c36f3]
not eax
movzx ecx, word [0x1800c377c]
movzx ecx, cx
cmp eax, ecx
jl 0x18005df10
mov dword [rsp + 0x11c], 1
jmp 0x18005df1b
mov dword [rsp + 0x11c], 0
mov eax, dword [rsp + 0x40]
mov eax, eax
cmp qword [0x1800c3808], rax
je 0x18005df37
mov dword [rsp + 0x114], 1
jmp 0x18005df42
mov dword [rsp + 0x114], 0
cmp dword [0x1800c37f0], 0
jne 0x18005df58
mov dword [rsp + 0x110], 1
jmp 0x18005df63
mov dword [rsp + 0x110], 0
mov eax, dword [rsp + 0x110]
cmp dword [rsp + 0x114], eax
jg 0x18005df80
mov dword [rsp + 0x118], 1
jmp 0x18005df8b
mov dword [rsp + 0x118], 0
mov eax, dword [rsp + 0x118]
cmp dword [rsp + 0x11c], eax
jg 0x18005df9d
jmp 0x18005dfc1
movsx eax, byte [0x1800c36f3]
test eax, eax
je 0x18005dfc1
mov rax, qword [rsp + 0x48]
movabs rcx, 0x7a910cfa992b5
add rax, rcx
mov qword [0x1800c3808], rax
movzx eax, byte [rsp + 0x20]
movzx ecx, byte [rsp + 0x20]
sub eax, ecx
mov byte [rsp + 0x20], al
mov eax, dword [0x1800c3820]
sub eax, 0x4438a692
mov byte [0x1800c3746], al
mov eax, dword [rsp + 0x1d0]
mov ecx, dword [rsp + 0x1d4]
sub eax, ecx
xor eax, 0x9d
mov dword [rsp + 0x200], eax
mov eax, dword [0x180895650]
mov dword [rsp + 0xc0], eax
movzx eax, byte [0x1800c3747]
movzx eax, al
shl eax, 7
mov word [rsp + 0x30], ax
mov eax, 1
imul rax, rax, 0x1b4c
lea rcx, [0x1808f44a0]
movsx eax, byte [rcx + rax]
movzx ecx, byte [0x1800c3747]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x1800c3747], al
mov eax, dword [rsp + 0xc0]
add eax, 0xad9
mov dword [rsp + 0x120], eax
mov eax, dword [rsp + 0xc0]
add eax, 0x85e7
mov dword [rsp + 0x2dc], eax
mov eax, dword [rsp + 0xc0]
add eax, 0xe5
mov dword [rsp + 0x2e0], eax
mov rax, qword [rsp + 0x60]
dec rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [0x1800c3810]
sub rax, rcx
mov qword [rsp + 0x50], rax
movzx eax, byte [0x1800c3766]
movzx ecx, word [rsp + 0x38]
sub eax, ecx
mov byte [0x1800c3766], al
mov eax, dword [rsp + 0x120]
mov ecx, dword [rsp + 0x120]
sub eax, ecx
add eax, 0xb5
mov dword [rsp + 0x204], eax
mov dword [0x1800c3828], 4
mov eax, dword [0x1800c3828]
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0
je 0x18005e116
cmp dword [rsp + 0x7c], 1
je 0x18005e13b
cmp dword [rsp + 0x7c], 2
je 0x18005e16f
cmp dword [rsp + 0x7c], 3
je 0x18005e18a
cmp dword [rsp + 0x7c], 4
je 0x18005e19b
jmp 0x18005e1dd
mov eax, 0x8bdc
mov word [rsp + 0x38], ax
movzx eax, byte [rsp + 0x20]
sub eax, 0xdb39
mov ecx, dword [rsp + 0x58]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
jmp 0x18005e1dd
mov rax, qword [rsp + 0x68]
sub rax, 0xa927
mov dword [rsp + 0x44], eax
movsx rax, word [0x1800c37e0]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
jmp 0x18005e1dd
movsx eax, word [rsp + 0x28]
shl eax, 7
cdqe
mov qword [str.yLSD], rax
mov dword [rsp + 0x40], 0xc1d2
jmp 0x18005e1dd
movzx eax, byte [rsp + 0x2c]
imul eax, eax, 0x1a
cdqe
mov qword [rsp + 0x50], rax
jmp 0x18005e1dd
movzx eax, byte [rsp + 0x2d]
sub eax, 0xb4
mov word [rsp + 0x38], ax
mov eax, dword [0x1800c3828]
test eax, eax
je 0x18005e1c5
mov rax, qword [0x1800c3810]
mov qword [rsp + 0x288], rax
jmp 0x18005e1d2
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x288], rax
mov eax, dword [rsp + 0x288]
mov dword [rsp + 0x40], eax
mov eax, dword [0x180895650]
mov dword [rsp + 0xd8], eax
movzx eax, byte [rsp + 0x22]
sub eax, 0xb23
mov byte [0x1800c3766], al
mov eax, dword [rsp + 0xd8]
add eax, 0xae33
mov dword [rsp + 0x1d8], eax
movzx eax, word [0x1800c3824]
cwde
not eax
movzx ecx, byte [rsp + 0x20]
not ecx
cmp eax, ecx
je 0x18005e22f
mov dword [rsp + 0x124], 1
jmp 0x18005e23a
mov dword [rsp + 0x124], 0
movsx eax, word [rsp + 0x28]
mov ecx, dword [rsp + 0x80]
add ecx, eax
mov eax, ecx
mov eax, dword [rsp + 0xd8]
add eax, 0xa814
mov dword [rsp + 0x2e8], eax
mov eax, dword [rsp + 0xd8]
add eax, 0x109
mov dword [rsp + 0x138], eax
movzx eax, word [0x1800c382c]
movzx eax, ax
sub eax, 0x9d38
mov dword [rsp + 0x40], eax
mov rax, qword [0x1800c3838]
add rax, 0x4abc5cf5
mov byte [rsp + 0x21], al
movzx eax, word [rsp + 0x34]
cwde
movzx ecx, word [rsp + 0x34]
movsx ecx, cx
cmp eax, ecx
je 0x18005e3ae
movzx eax, word [rsp + 0x24]
mov rcx, qword [rsp + 0x48]
cmp rax, rcx
jge 0x18005e2c6
mov dword [rsp + 0x12c], 1
jmp 0x18005e2d1
mov dword [rsp + 0x12c], 0
movzx eax, word [rsp + 0x24]
cmp eax, 0x60
jge 0x18005e2e8
mov dword [rsp + 0x128], 1
jmp 0x18005e2f3
mov dword [rsp + 0x128], 0
mov eax, dword [rsp + 0x128]
cmp dword [rsp + 0x12c], eax
je 0x18005e33a
mov eax, 0x88057c23
mov rcx, qword [str.yLSD]
sub rcx, rax
mov rax, rcx
mov byte [0x1800c36f7], al
movzx eax, word [0x1800c37f4]
add rax, qword [0x1800c3808]
mov rcx, qword [rsp + 0x50]
add rcx, rax
mov rax, rcx
mov dword [rsp + 0x40], eax
jmp 0x18005e3ac
mov rax, qword [0x1800c3810]
test rax, rax
jne 0x18005e353
mov dword [rsp + 0x130], 1
jmp 0x18005e35e
mov dword [rsp + 0x130], 0
cmp dword [rsp + 0x130], 0x1d363664
jae 0x18005e378
mov dword [rsp + 0x134], 1
jmp 0x18005e383
mov dword [rsp + 0x134], 0
mov eax, dword [0x1800c37e4]
or eax, dword [rsp + 0x134]
test eax, eax
je 0x18005e3ac
movsx rax, word [0x1800c37e0]
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
jmp 0x18005e3bf
movzx eax, word [0x1800c3830]
dec ax
mov word [0x1800c3830], ax
mov eax, dword [rsp + 0x138]
xor eax, 0xb5
mov ecx, dword [rsp + 0x138]
mov edx, dword [rsp + 0x1d8]
xor ecx, edx
imul eax, ecx
add eax, 0xfed0199b
mov dword [rsp + 0x210], eax
mov byte [0x1800c36f6], 1
movzx eax, word [0x1800c3804]
add rax, qword [rsp + 0x1a0]
mov word [0x1800c3804], ax
movzx eax, word [rsp + 0x24]
mov ecx, dword [0x1800c37e4]
xor ecx, eax
mov eax, ecx
mov word [0x1800c37e0], ax
movzx eax, byte [0x1800c36f6]
mov byte [rsp + 0x13c], al
cmp byte [rsp + 0x13c], 0
je 0x18005e441
cmp byte [rsp + 0x13c], 1
je 0x18005e45e
jmp 0x18005e473
mov rax, qword [rsp + 0x48]
mov word [0x1800c37e0], ax
movzx eax, byte [rsp + 0x21]
sar eax, 6
mov word [0x1800c377c], ax
jmp 0x18005e473
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x80], 0xe7
mov eax, dword [rsp + 0x1dc]
mov dword [rsp + 0xd0], eax
mov eax, dword [0x1800c3800]
movzx ecx, word [0x1800c382c]
movzx ecx, cx
cmp eax, ecx
jne 0x18005e4a2
mov dword [rsp + 0x144], 1
jmp 0x18005e4ad
mov dword [rsp + 0x144], 0
mov eax, dword [0x1800c3800]
cmp eax, 9
jne 0x18005e4c5
mov dword [rsp + 0x140], 1
jmp 0x18005e4d0
mov dword [rsp + 0x140], 0
mov eax, dword [rsp + 0x140]
cmp dword [rsp + 0x144], eax
jle 0x18005e508
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x18005e503
movabs rax, 0xd85e50386678e
mov rcx, qword [str.yLSD]
add rcx, rax
mov rax, rcx
mov dword [rsp + 0x3c], eax
jmp 0x18005e5ed
mov eax, dword [0x1800c37f0]
not eax
test eax, eax
jne 0x18005e52a
movzx eax, byte [rsp + 0x20]
test eax, eax
jne 0x18005e52a
mov dword [rsp + 0x148], 0
jmp 0x18005e535
mov dword [rsp + 0x148], 1
cmp dword [rsp + 0x148], 0
jle 0x18005e579
movsx eax, byte [0x1800c3746]
test eax, eax
je 0x18005e559
movzx eax, byte [rsp + 0x21]
mov qword [rsp + 0x238], rax
jmp 0x18005e569
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x238], rax
movzx eax, byte [rsp + 0x238]
mov byte [0x1800c3746], al
jmp 0x18005e5ed
movsx eax, byte [0x1800c3746]
movzx ecx, byte [rsp + 0x20]
cmp eax, ecx
jl 0x18005e596
mov dword [rsp + 0x14c], 1
jmp 0x18005e5a1
mov dword [rsp + 0x14c], 0
mov eax, dword [rsp + 0x14c]
not eax
movzx ecx, word [0x1800c377c]
movzx ecx, cx
cmp eax, ecx
jg 0x18005e5ed
movzx eax, byte [rsp + 0x20]
test eax, eax
je 0x18005e5cf
movzx eax, word [rsp + 0x30]
mov dword [rsp + 0x150], eax
jmp 0x18005e5e0
movzx eax, byte [0x1800c3747]
movzx eax, al
mov dword [rsp + 0x150], eax
movsxd rax, dword [rsp + 0x150]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x168], 0
cmp qword [rsp + 0x3c0], 0
jne 0x18005e75c
mov rax, qword [rsp + 0x50]
movzx ecx, byte [rsp + 0x21]
cmp rax, rcx
jle 0x18005e623
mov dword [rsp + 0x158], 1
jmp 0x18005e62e
mov dword [rsp + 0x158], 0
mov rax, qword [rsp + 0x50]
cmp rax, 0x4e
jle 0x18005e646
mov dword [rsp + 0x154], 1
jmp 0x18005e651
mov dword [rsp + 0x154], 0
mov eax, dword [rsp + 0x154]
cmp dword [rsp + 0x158], eax
jg 0x18005e752
movsx eax, byte [0x1800c371e]
movsx ecx, word [rsp + 0x28]
cmp eax, ecx
je 0x18005e682
mov dword [rsp + 0x160], 1
jmp 0x18005e68d
mov dword [rsp + 0x160], 0
movsx eax, byte [0x1800c371e]
cmp eax, 0x37
je 0x18005e6a6
mov dword [rsp + 0x15c], 1
jmp 0x18005e6b1
mov dword [rsp + 0x15c], 0
mov eax, dword [rsp + 0x15c]
cmp dword [rsp + 0x160], eax
jg 0x18005e6d5
mov rax, qword [rsp + 0x70]
sub rax, qword [0x1800c3818]
mov byte [0x1800c36f7], al
jmp 0x18005e752
movzx eax, word [0x1800c3824]
cwde
test eax, eax
jne 0x18005e6ee
mov dword [rsp + 0x164], 1
jmp 0x18005e6f9
mov dword [rsp + 0x164], 0
movzx eax, word [rsp + 0x38]
mov ecx, dword [rsp + 0x164]
add ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x20]
movzx edx, byte [rsp + 0x20]
add ecx, edx
imul eax, ecx
not eax
cdqe
movzx ecx, byte [str.Eee_]
mov rdx, qword [rsp + 0x1a0]
add rdx, rcx
mov rcx, rdx
movzx edx, word [0x1800c377c]
movzx edx, dx
add rcx, rdx
add rax, rcx
mov word [0x1800c3804], ax
movzx eax, word [rsp + 0x34]
mov word [rsp + 0x24], ax
mov eax, 1
jmp 0x18005ec59
lea r9, [rsp + 0xd0]
mov r8d, dword [rsp + 0x3d0]
mov rdx, qword [rsp + 0x3c8]
mov rcx, qword [rsp + 0x3c0]
call sub.KERNEL32.dll_K32EnumProcessModules
mov dword [rsp + 0x168], eax
mov eax, dword [rsp + 0x1e0]
cmp dword [rsp + 0x168], eax
jne 0x18005e95d
movsx eax, word [0x1800c37e0]
test eax, eax
je 0x18005e7c2
movzx eax, word [0x1800c3830]
movzx eax, ax
shl eax, 4
cdqe
mov qword [0x1800c3848], rax
jmp 0x18005e887
movsx eax, byte [0x1800c371e]
test eax, eax
je 0x18005e887
movzx eax, word [rsp + 0x34]
cwde
test eax, eax
jne 0x18005e7e9
mov qword [rsp + 0x240], 1
jmp 0x18005e7f5
mov qword [rsp + 0x240], 0
mov rax, qword [0x1800c37e8]
mov rcx, qword [rsp + 0x240]
sub rcx, rax
mov rax, rcx
test rax, rax
jne 0x18005e81c
mov dword [rsp + 0x170], 1
jmp 0x18005e827
mov dword [rsp + 0x170], 0
movsx eax, byte [0x1800c3746]
movzx ecx, byte [0x1800c3747]
movzx ecx, cl
imul eax, ecx
test eax, eax
jne 0x18005e84c
mov dword [rsp + 0x16c], 1
jmp 0x18005e857
mov dword [rsp + 0x16c], 0
mov eax, dword [rsp + 0x16c]
mov ecx, dword [rsp + 0x170]
sub ecx, eax
mov eax, ecx
not eax
movzx ecx, byte [rsp + 0x21]
movzx edx, byte [rsp + 0x21]
sub edx, 0xde32
imul ecx, edx
add eax, ecx
cdqe
mov qword [rsp + 0x68], rax
mov eax, dword [0x180895650]
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0x1e4]
mov ecx, dword [rsp + 0xc8]
add eax, ecx
mov dword [rsp + 0x174], eax
mov eax, dword [rsp + 0x1e8]
mov ecx, dword [rsp + 0xc8]
add eax, ecx
mov dword [rsp + 0x1f0], eax
movsx eax, byte [0x1800c36f7]
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x3c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x80]
sar eax, 2
mov byte [0x1800c3747], al
mov eax, dword [rsp + 0x1ec]
mov ecx, dword [rsp + 0xc8]
add eax, ecx
mov dword [rsp + 0x29c], eax
mov eax, dword [rsp + 0x174]
mov ecx, dword [rsp + 0x174]
sub eax, ecx
mov ecx, dword [rsp + 0x1f0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1f4]
mov edx, dword [rsp + 0x1f8]
add ecx, edx
cmp eax, ecx
je 0x18005e95d
mov rax, qword [0x1800c37e8]
and rax, 0x1a
mov rcx, qword [0x1800c3818]
add rcx, rax
mov rax, rcx
mov qword [0x1800c3818], rax
mov eax, 1
jmp 0x18005ec59
mov eax, dword [rsp + 0x3d0]
cmp dword [rsp + 0xd0], eax
jbe 0x18005ea80
movzx eax, word [rsp + 0x30]
movzx eax, byte [0x1800c36f6]
movsx eax, al
add eax, 0x98fb17fd
mov eax, eax
mov qword [0x1800c3810], rax
mov eax, dword [0x180895650]
mov dword [rsp + 0xcc], eax
movzx eax, word [rsp + 0x34]
cwde
cmp dword [rsp + 0x3c], eax
jb 0x18005e9b4
mov dword [rsp + 0x17c], 1
jmp 0x18005e9bf
mov dword [rsp + 0x17c], 0
cmp dword [rsp + 0x3c], 0x4c
jb 0x18005e9d3
mov dword [rsp + 0x178], 1
jmp 0x18005e9de
mov dword [rsp + 0x178], 0
mov eax, dword [rsp + 0x178]
mov eax, dword [rsp + 0x1fc]
mov ecx, dword [rsp + 0xcc]
add eax, ecx
mov dword [rsp + 0x208], eax
mov eax, dword [rsp + 0x200]
mov ecx, dword [rsp + 0xcc]
add eax, ecx
mov dword [rsp + 0x2a0], eax
lea rax, [rsp + 0x338]
lea rcx, str.invalid_bit_length
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x338]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x1800c382c], ax
mov eax, dword [rsp + 0x204]
mov ecx, dword [rsp + 0xcc]
add eax, ecx
mov dword [rsp + 0x20c], eax
mov eax, dword [rsp + 0x208]
mov ecx, dword [rsp + 0x20c]
mov edx, dword [rsp + 0x210]
sub ecx, edx
cmp eax, ecx
je 0x18005ea80
mov eax, 2
jmp 0x18005ec59
mov rax, qword [rsp + 0x68]
movabs rcx, 0x40a6d92d22ae2
cmp rax, rcx
jge 0x18005eab4
mov rax, qword [rsp + 0x48]
mov ecx, dword [0x1800c3820]
movsxd rcx, ecx
cmp rax, rcx
jge 0x18005eab4
mov dword [rsp + 0x18c], 1
jmp 0x18005eabf
mov dword [rsp + 0x18c], 0
movsx eax, byte [0x1800c3746]
test eax, eax
jne 0x18005eadf
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x18005eadf
mov dword [rsp + 0x184], 0
jmp 0x18005eaea
mov dword [rsp + 0x184], 1
movsx eax, word [0x1800c3794]
not eax
movzx ecx, word [0x1800c3830]
movzx ecx, cx
cmp eax, ecx
jle 0x18005eb0e
mov dword [rsp + 0x180], 1
jmp 0x18005eb19
mov dword [rsp + 0x180], 0
mov eax, dword [rsp + 0x180]
cmp dword [rsp + 0x184], eax
jne 0x18005eb36
mov dword [rsp + 0x188], 1
jmp 0x18005eb41
mov dword [rsp + 0x188], 0
mov eax, dword [rsp + 0x188]
mov ecx, dword [rsp + 0x18c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x18005eb7d
mov eax, dword [0x180895650]
mov qword [rsp + 0x48], rax
movsx eax, byte [0x1800c371e]
movsx ecx, byte [0x1800c3746]
add eax, ecx
mov byte [0x1800c371e], al
jmp 0x18005ec13
movzx eax, byte [0x1800c3747]
movzx eax, al
test eax, eax
jne 0x18005eb99
mov qword [rsp + 0x250], 1
jmp 0x18005eba5
mov qword [rsp + 0x250], 0
movzx eax, word [0x1800c3840]
movzx eax, ax
test eax, eax
jne 0x18005ebc1
mov qword [rsp + 0x248], 1
jmp 0x18005ebcd
mov qword [rsp + 0x248], 0
mov rax, qword [0x1800c3838]
mov rcx, qword [rsp + 0x250]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x248]
xor rdx, rcx
mov rcx, rdx
mov edx, dword [rsp + 0x44]
mov edx, edx
mov rdi, qword [rsp + 0x60]
imul rdx, rdi
not rdx
add rcx, rdx
sub rax, rcx
mov byte [0x1800c36f3], al
mov eax, dword [rsp + 0xd0]
xor edx, edx
mov ecx, 8
div rcx
mov ecx, dword [rsp + 0x190]
mov edx, dword [rsp + 0x190]
sub ecx, edx
mov edx, dword [rsp + 0x194]
mov edi, dword [rsp + 0x194]
imul edx, edi
imul ecx, edx
mov ecx, ecx
add rax, rcx
mov rcx, qword [rsp + 0x3d8]
mov dword [rcx], eax
xor eax, eax
add rsp, 0x3a8
pop rdi
pop rsi
ret