Function at 0x10017996
Capabilities:
Contain obfuscated stackstrings
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10065a3f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1d4
push esi
and dword [ebp - 0xec], 0
mov dword [ebp - 0x30], 0xfd3df75d
mov dword [ebp - 0x120], 0xe3d2f551
mov dword [ebp - 0xf8], 0x6e836ea0
mov dword [ebp - 0x178], 0x3f36fc75
mov dword [ebp - 0x30], 0
jmp 0x100179f1
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x1c
jle 0x10017aa8
mov dword [ebp - 0x28], 0xa35f394
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x28], 4
jmp 0x10017a1c
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x1c
jge 0x10017a95
mov dword [ebp - 0x108], 0x4e6d
mov dword [ebp - 0x124], 0x1023dcdf
mov dword [ebp - 0x100], 0x54e3f157
mov dword [ebp - 0x110], 0x64939e63
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x134]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.1001768b
add esp, 0x24
cmp dword [ebp - 0x28], 0
je 0x10017a93
jmp 0x10017a15
jmp 0x10017a15
mov byte [ebp - 0x20], 0
lea eax, [ebp - 0x20]
push eax
call fcn.100177ea
pop ecx
jmp 0x100179ea
mov byte [ebp - 0x94], 0x10
mov byte [ebp - 0x93], 0xd3
mov byte [ebp - 0x92], 0xe
mov byte [ebp - 0x91], 0x1e
mov byte [ebp - 0x90], 3
mov byte [ebp - 0x8f], 0xb
mov byte [ebp - 0x8e], 2
mov byte [ebp - 0x8d], 7
mov byte [ebp - 0x8c], 0x13
mov byte [ebp - 0x8b], 0x17
mov byte [ebp - 0x8a], 0x16
mov byte [ebp - 0x89], 3
mov byte [ebp - 0x88], 9
mov byte [ebp - 0x87], 0x1d
mov byte [ebp - 0x86], 8
mov byte [ebp - 0x85], 3
mov byte [ebp - 0x84], 0x11
mov byte [ebp - 0x83], 0x1b
mov byte [ebp - 0x82], 5
mov byte [ebp - 0x81], 0x14
mov byte [ebp - 0x80], 0x18
mov byte [ebp - 0x7f], 0x1f
mov byte [ebp - 0x7e], 0xc
mov byte [ebp - 0x7d], 0x14
mov byte [ebp - 0x7c], 0x15
mov byte [ebp - 0x7b], 0x1b
mov byte [ebp - 0x7a], 1
mov byte [ebp - 0x79], 0x14
mov byte [ebp - 0x78], 0x14
mov byte [ebp - 0x77], 0x17
mov byte [ebp - 0x76], 0x17
mov byte [ebp - 0x75], 0xd
mov byte [ebp - 0x74], 7
mov byte [ebp - 0x73], 0x10
mov byte [ebp - 0x72], 4
mov byte [ebp - 0x71], 0xe6
mov byte [ebp - 0x70], 0xc1
mov byte [ebp - 0x6f], 0xa7
mov byte [ebp - 0x6e], 0x8a
mov byte [ebp - 0x6d], 0xb
mov byte [ebp - 0x6c], 4
mov byte [ebp - 0x6b], 0xf
mov byte [ebp - 0x6a], 0x1c
mov byte [ebp - 0x69], 6
mov byte [ebp - 0x68], 0x17
mov byte [ebp - 0x67], 0x19
mov byte [ebp - 0x66], 0x1d
mov byte [ebp - 0x65], 0x12
mov byte [ebp - 0x64], 9
mov byte [ebp - 0x63], 0xa
mov byte [ebp - 0x62], 0x18
mov byte [ebp - 0x61], 0
mov byte [ebp - 0x60], 0xa
mov byte [ebp - 0x5f], 0xd
mov byte [ebp - 0x5e], 0xf
mov byte [ebp - 0x5d], 4
mov byte [ebp - 0x5c], 0xb
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x94]
or eax, 0xa2
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x94]
and ecx, 0xa2
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x94]
mov byte [ebp + ecx - 0x160], al
mov dword [ebp - 0x10], 2
and dword [ebp - 0x34], 0
jmp 0x10017c1b
mov eax, dword [ebp - 0x10]
inc eax
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x39
jae 0x10017cea
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x94]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x10], eax
jne 0x10017c62
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x94]
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x94]
mov ecx, dword [ebp - 0x10]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x10], eax
jmp 0x10017c13
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x93]
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x96]
movsx ecx, byte [ebp + ecx - 0x160]
add eax, ecx
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x93]
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x34]
movzx edx, byte [ebp + edx - 0x96]
movsx edx, byte [ebp + edx - 0x160]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x93]
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x34]
movzx edx, byte [ebp + edx - 0x96]
movsx edx, byte [ebp + edx - 0x160]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x94]
mov byte [ebp + ecx - 0x160], al
and dword [ebp - 0x34], 0
jmp 0x10017c13
xor eax, eax
inc eax
imul eax, eax, 0x1a
mov byte [ebp + eax - 0x160], 0
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x1d0]
call fcn.1001c2f7
and dword [ebp - 4], 0
mov dword [ebp - 0x2c], 0xf89b546
mov dword [ebp - 0xa0], 0xafd11d96
mov dword [ebp - 0x190], 0xfffffffd
mov dword [ebp - 0x118], 5
mov dword [ebp - 0xf4], 0x69bd697e
mov dword [ebp - 0xb4], 0xd19c9214
mov dword [ebp - 0xfc], 0x17a68fab
mov dword [ebp - 0x128], 0x1ffe
cmp dword [ebp - 0x128], 0x114e
jge 0x10017e39
lea eax, [ebp - 0x38]
push eax
push 0x10008434
call fcn.1004bcab
pop ecx
pop ecx
mov eax, dword [ebp - 0x38]
and eax, 0x80000001
jns 0x10017d8a
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x10017e2e
and dword [ebp - 0x54], 0
jmp 0x10017d9f
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x38]
jge 0x10017db8
push dword [ebp - 0x54]
push 0x10008484
call fcn.1004c43c
pop ecx
pop ecx
jmp 0x10017d98
push 0x100080ed
call fcn.1004c236
pop ecx
and dword [ebp - 0x44], 0
jmp 0x10017dd0
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x38]
jge 0x10017de9
push dword [ebp - 0x44]
push 0x10008484
call fcn.1004c43c
pop ecx
pop ecx
jmp 0x10017dc9
push 0x100080ed
call fcn.1004c236
pop ecx
and dword [ebp - 0x50], 0
jmp 0x10017e01
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x38]
jge 0x10017e21
mov eax, dword [ebp - 0x50]
shl eax, 1
cdq
idiv dword [ebp - 0x38]
push edx
push 0x10008484
call fcn.1004c43c
pop ecx
pop ecx
jmp 0x10017dfa
push 0x100080ed
call fcn.1004c236
pop ecx
jmp 0x10017e39
push 0x1000848c
call fcn.1004c236
pop ecx
mov dword [ebp - 0x4c], 0
jmp 0x10017e49
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 3
jge 0x10017e5f
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x144], 0x85f70ad6
jmp 0x10017e42
mov byte [ebp - 0x23], 0
lea eax, [ebp - 0x23]
push eax
call fcn.1001780f
pop ecx
mov dword [ebp - 0x2c], 0
jmp 0x10017e7d
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jg 0x10017fb9
mov dword [ebp - 0x98], 0xa77c8748
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.1001783d
pop ecx
pop ecx
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xf4]
cmp dword [ebp - 0xa0], eax
jg 0x10017ecd
mov dword [ebp - 0xd0], 1
jmp 0x10017ed4
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x144]
cmp eax, dword [ebp - 0xd0]
jle 0x10017ef2
mov dword [ebp - 0xb0], 1
jmp 0x10017ef9
and dword [ebp - 0xb0], 0
mov dword [ebp - 0x118], 0xfffa
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x144], 0x6a3f1540
jle 0x10017f21
mov dword [ebp - 0x138], 1
jmp 0x10017f28
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x164], eax
imul eax, dword [ebp - 0xf4], 0x5a2e
mov ecx, dword [ebp - 0x2c]
cmp eax, dword [ebp + ecx*4 - 0x144]
jne 0x10017f56
mov dword [ebp - 0xf0], 1
jmp 0x10017f5d
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebp - 0xf0]
jg 0x10017f77
mov dword [ebp - 0xb8], 1
jmp 0x10017f7e
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xfc]
add eax, dword [ebp - 0xb8]
imul eax, eax, 0xfffffff8
cmp eax, dword [ebp - 0x98]
je 0x10017fa1
mov dword [ebp - 0xd8], 1
jmp 0x10017fa8
and dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xa0], eax
jmp 0x10017e76
and dword [ebp - 0x3c], 0
jmp 0x10017fc6
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x1b
jae 0x10017fd9
mov eax, dword [ebp - 0x3c]
mov byte [ebp + eax - 0x160], 0
jmp 0x10017fbf
push 2
lea ecx, [ebp - 0x170]
call fcn.1000a859
mov byte [ebp - 4], 1
mov dword [ebp - 0x58], 0xffffffff
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.10017864
pop ecx
pop ecx
mov dword [ebp - 0x58], 0
jmp 0x10018016
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 1
jg 0x10018035
mov byte [ebp - 0x1e], 0
movzx eax, byte [ebp - 0x1e]
test eax, eax
je 0x10018033
push 0xcbf
call dword [sym.imp.USER32.dll_MessageBeep]
jmp 0x1001800f
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x170]
call fcn.1000a8bb
push 0x100080ed
lea ecx, [ebp - 0x1a8]
call fcn.1001c2f7
mov byte [ebp - 4], 2
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x40], 0
jmp 0x1001806f
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 2
jge 0x10018085
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x130], 0x56834504
jmp 0x10018068
mov dword [ebp - 0x14], 0
jmp 0x10018095
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jg 0x100180dc
mov dword [ebp - 0xc0], 0x2e8588d0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x130]
mov dword [ebp + ecx*4 - 0x130], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x130], 0
je 0x100180cd
call fcn.100178a9
jmp 0x100180da
mov eax, dword [ebp - 0xc0]
dec eax
mov dword [ebp - 0xc0], eax
jmp 0x1001808e
mov dword [ebp - 0x14], 0
jmp 0x100180ec
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
je 0x10018116
mov byte [ebp - 0x1f], 0
movzx eax, byte [ebp - 0x1f]
test eax, eax
je 0x10018103
call fcn.100178c5
mov byte [ebp - 0x21], 0
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x10018114
call fcn.100178e3
jmp 0x100180e5
mov dword [ebp - 0x188], 0x8261f9c2
mov byte [ebp - 0x22], 0
movzx eax, byte [ebp - 0x22]
test eax, eax
je 0x10018139
push 0x30c
push 0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov byte [ebp - 0x1d], 0
movzx eax, byte [ebp - 0x1d]
test eax, eax
je 0x1001814a
call fcn.100178f0
lea ecx, [ebp - 0x1a8]
call fcn.1000abc8
cmp eax, dword [ebp + 0xc]
je 0x10018199
call fcn.1004dfc3
mov esi, eax
lea ecx, [ebp - 0x1d0]
call fcn.1000abc8
mov ecx, eax
mov eax, esi
xor edx, edx
div ecx
mov dword [ebp - 0x104], edx
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x1a8]
push eax
call fcn.1001790b
add esp, 0xc
jmp 0x1001814a
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x48], 0xcadd6352
mov dword [ebp - 0xac], 0xeadd5d08
mov dword [ebp - 0x9c], 1
mov dword [ebp - 0x1c], 0
jmp 0x100181cb
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x100181e1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1e0], 0x7f039d3c
jmp 0x100181c4
mov dword [ebp - 0x1c], 0
jmp 0x100181f1
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x10018207
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1b8], 0xbd6cd538
jmp 0x100181ea
cmp dword [ebp - 0x18], 0
jne 0x10018219
mov dword [ebp - 0x10c], 1
jmp 0x10018220
and dword [ebp - 0x10c], 0
cmp dword [ebp - 0x18], 0
jne 0x10018254
cmp dword [ebp - 0x18], 0xa0c8d467
jae 0x1001823b
mov dword [ebp - 0xe8], 1
jmp 0x10018242
and dword [ebp - 0xe8], 0
cmp dword [ebp - 0xe8], 0xfffffff9
jne 0x10018254
and dword [ebp - 0x114], 0
jmp 0x1001825e
mov dword [ebp - 0x114], 1
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x48], 0
jne 0x1001827c
cmp dword [ebp - 0x18], 0
jne 0x1001827c
and dword [ebp - 0xc8], 0
jmp 0x10018286
mov dword [ebp - 0xc8], 1
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0xc8], eax
jle 0x1001829d
mov dword [ebp - 0xe0], 1
jmp 0x100182a4
and dword [ebp - 0xe0], 0
cmp dword [ebp - 0xe0], 6
je 0x100182b9
mov dword [ebp - 0xa8], 1
jmp 0x100182c0
and dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0xac], eax
jg 0x100182e3
mov dword [ebp - 0xa4], 1
jmp 0x100182ea
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x180], eax
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x1e0], 0x40fff069
cmp dword [ebp - 0x18], 0x40fff069
jge 0x1001833d
mov dword [ebp - 0xbc], 1
jmp 0x10018344
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xbc], eax
jle 0x1001835b
mov dword [ebp - 0xc4], 1
jmp 0x10018362
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc4], eax
jle 0x10018379
mov dword [ebp - 0xcc], 1
jmp 0x10018380
and dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0x48]
imul eax, dword [ebp - 0x18]
cmp eax, 1
ja 0x1001839e
mov dword [ebp - 0xd4], 1
jmp 0x100183a5
and dword [ebp - 0xd4], 0
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0xd4]
imul ecx, dword [ebp + eax - 0x1b8]
mov dword [ebp - 0xdc], ecx
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0xdc]
mov dword [ebp + eax - 0x1b8], ecx
cmp dword [ebp - 0xdc], 0
je 0x100183f2
mov dword [ebp - 0xe4], 0xbc712bad
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0xe4], eax
jmp 0x10018409
mov dword [ebp - 0x11c], 0xfffffffe
lea eax, [ebp - 0x11c]
push eax
call fcn.1001797d
pop ecx
lea eax, [ebp - 0x1a8]
push eax
mov ecx, dword [ebp + 8]
call fcn.1001c326
mov eax, dword [ebp - 0xec]
or eax, 1
mov dword [ebp - 0xec], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1a8]
call fcn.1001c37f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d0]
call fcn.1001c37f
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret