Function at 0x100389e0
Capabilities:
Access peb ldr_data
Check if file exists
Contain obfuscated stackstrings
Create thread
Get file size
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1003feca
mov eax, dword fs:[0]
push eax
mov eax, 0x1a94
call fcn.1002d6d0
mov eax, dword [0x1004e44c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x1738], esi
mov dword [ebp - 0x1740], esi
lea ecx, [esi + 0x30]
mov dword [ebp - 4], 0
call fcn.10001fe0
lea ecx, [esi + 0x48]
call fcn.10002270
lea ecx, [esi + 0x54]
call fcn.10002270
lea ecx, [esi + 0x60]
call fcn.10002270
lea ecx, [esi + 0x407c]
mov byte [ebp - 4], 4
call fcn.10002400
lea ecx, [esi + 0x4090]
mov byte [ebp - 4], 5
call fcn.10002400
lea ecx, [esi + 0x40a8]
call fcn.10001fe0
lea ecx, [esi + 0x40d0]
mov byte [ebp - 4], 7
call fcn.10002580
lea ecx, [esi + 0x40e0]
call fcn.10001bc0
lea ecx, [esi + 0x4124]
call fcn.10002270
lea ecx, [esi + 0x4130]
call fcn.10002270
lea ecx, [esi + 0x413c]
call fcn.10002270
lea ecx, [esi + 0x4180]
call fcn.10001fe0
lea ecx, [esi + 0x4198]
call fcn.10001be0
mov ecx, esi
add ecx, 0x419c
call fcn.10001fe0
mov eax, esi
mov byte [ebp - 4], 0xf
push 0x10048a24
lea ecx, [esi + 0x4198]
mov dword [eax + 0x4178], 0
mov dword [eax + 0x417c], 0
call fcn.10007660
call dword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
mov ecx, esi
mov dword [ecx + 0x4170], eax
mov dword [ecx + 0x416c], 0
mov byte [ecx], 0
mov byte [ecx + 0x14], 1
mov dword [0x100516bc], 0
mov dword [ecx + 0x28], 0x1000000
mov word [ecx + 0x24], 1
mov dword [ecx + 0x40d8], 0
mov dword [ecx + 0x40dc], 0
mov word [ecx + 0x415c], 0
mov byte [ecx + 0x415e], 0
mov byte [ecx + 0x27], 0
mov dword [ecx + 0x4160], 0xffffffff
mov dword [ecx + 0x4164], 0xffffffff
mov byte [ecx + 0x2c], 0
mov dword [ecx + 0x40a4], 0
mov byte [0x100516bb], 0
lea ecx, [esi + 0x407c]
mov dword [0x100519ec], 0
call fcn.10002570
lea ecx, [esi + 0x4090]
call fcn.10002570
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 0x4000000
push 0x4000000
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0
push 0
push 1
push 0
call esi
mov ebx, dword [ebp - 0x1738]
push 0
push 0
push 1
push 0
mov dword [ebx + 8], eax
call esi
push 0
push 0
push 0
push 0
mov dword [ebx + 0xc], eax
call esi
push 0
push 0
push 0
push 0
mov dword [ebx + 0x10], eax
call esi
mov dword [ebx + 4], eax
mov eax, 0x63
mov word [ebp - 0x218], ax
mov eax, 0x47
mov word [ebp - 0x22c], ax
mov eax, 0x6c
mov word [ebp - 0x222], ax
mov word [ebp - 0x212], ax
mov ecx, 0x65
lea eax, [ebp - 0x22c]
push eax
push 0
lea edi, [ecx - 4]
push 0x1f0001
mov dword [ebp - 0x20c], 0x740061
mov dword [ebp - 0x210], 0x720065
mov dword [ebp - 0x216], 0x650063
mov dword [ebp - 0x208], 0x500065
mov dword [ebp - 0x1f0], 0x740075
mov dword [ebp - 0x220], 0x50005c
mov dword [ebp - 0x1f4], 0x4d0072
mov dword [ebp - 0x1ea], 0x78
mov dword [ebp - 0x22a], 0x6f006c
mov dword [ebp - 0x21c], 0x410043
mov dword [ebp - 0x226], 0x610062
mov dword [ebp - 0x1fa], 0x6e006e
mov dword [ebp - 0x200], 0x630053
mov word [ebp - 0x1ec], cx
mov word [ebp - 0x1fc], di
mov dword [ebp - 0x204], 0x6f0072
mov word [ebp - 0x1f6], cx
call dword [0x1006fa28]
mov dword [0x1006f9f0], eax
cmp dword [0x1006f9f0], 0
je 0x10038cf8
mov byte [0x100516ba], 0
jmp 0x10038d87
xorps xmm0, xmm0
push 1
lea eax, [ebp - 0x16f8]
push eax
mov byte [ebp - 0x16f8], 0
movq qword [ebp - 0x16f7], xmm0
movq qword [ebp - 0x16ef], xmm0
mov word [ebp - 0x16e7], 0
mov byte [ebp - 0x16e5], 0
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push 0
push 0
push 1
lea eax, [ebp - 0x16f8]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
xorps xmm0, xmm0
lea eax, [ebp - 0x16f8]
movq qword [ebp - 0x1730], xmm0
mov dword [ebp - 0x1730], eax
lea eax, [ebp - 0x22c]
push eax
push 0
lea eax, [ebp - 0x1734]
push eax
mov dword [ebp - 0x1734], 0xc
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [0x1006f9f0], eax
mov byte [0x100516ba], 1
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xedc], ax
lea eax, [ebp - 0xeda]
push eax
call fcn.1000b010
add esp, 0xc
lea eax, [ebp - 0xedc]
push 0x104
push eax
push 0
call dword [0x1006fa40]
lea eax, [ebp - 0xedc]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10038dc2
sub eax, edx
sar eax, 1
dec eax
lea ecx, [ebp - 0xedc]
cmp word [ecx + eax*2], 0x5c
lea ecx, [ecx + eax*2]
je 0x10038dfa
xor edx, edx
mov word [ecx], dx
lea eax, [eax - 1]
lea ecx, [ebp - 0xedc]
cmp word [ecx + eax*2], 0x5c
lea ecx, [ecx + eax*2]
jne 0x10038de2
lea eax, [ebp - 0xedc]
push eax
lea ecx, [ebx + 0x30]
call fcn.10002100
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x4d4], ax
lea eax, [ebp - 0x4d2]
push eax
call fcn.1000b010
add esp, 0xc
cmp byte [ebp + 0x20], 0
push 0
mov ecx, 0x23
mov eax, 0x1c
cmovne eax, ecx
push eax
lea eax, [ebp - 0x4d4]
push eax
push 0
call dword [0x1006fa24]
lea ecx, [ebp - 0x173c]
call fcn.10037230
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.10001de0
push eax
lea eax, [ebp - 0x4d4]
push eax
call dword [0x1006fa20]
lea ecx, [ebp - 0x173c]
mov byte [ebp - 4], 0xf
call fcn.10007730
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [ebp - 0x4d4]
push eax
call esi
test eax, eax
jne 0x10038e9b
lea ecx, [ebp - 0x4d4]
call fcn.1003a680
lea edx, [ebp - 0x4d4]
call fcn.10004c20
mov eax, 0x62
mov word [ebp - 0x164], ax
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x4d4]
push eax
mov dword [ebp - 0x15e], 0x65
mov dword [ebp - 0x162], 0x730061
mov dword [ebp - 0x16c], 0x610064
mov dword [ebp - 0x168], 0x610074
call dword [0x1006fa20]
lea eax, [ebp - 0x4d4]
push eax
call esi
test eax, eax
jne 0x10038f06
lea ecx, [ebp - 0x4d4]
call fcn.1003a680
mov eax, 0x5c
mov ecx, 0x50
mov word [ebp - 0x1a0], ax
lea eax, [ebp - 0x1a0]
mov word [ebp - 0x196], cx
push eax
lea ecx, [ebp - 0x18c0]
mov dword [ebp - 0x19e], 0x500052
mov dword [ebp - 0x190], 0x63002e
mov dword [ebp - 0x19a], 0x410043
mov dword [ebp - 0x194], 0x6f0072
mov dword [ebp - 0x188], 0x66
mov dword [ebp - 0x18c], 0x6e006f
call fcn.10002000
mov esi, eax
push 0x100516c0
lea ecx, [ebp - 0x1890]
mov byte [ebp - 4], 0x11
call fcn.10002000
push esi
mov edx, eax
lea ecx, [ebp - 0x1920]
mov byte [ebp - 4], 0x12
call fcn.10004c40
add esp, 4
mov ecx, eax
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
call fcn.100021a0
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
push eax
call edi
lea ecx, [ebp - 0x1920]
mov esi, eax
call fcn.100020d0
lea ecx, [ebp - 0x1890]
call fcn.100020d0
lea ecx, [ebp - 0x18c0]
mov byte [ebp - 4], 0xf
call fcn.100020d0
cmp esi, 0xffffffff
je 0x10039508
push 0
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push esi
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
push 0x7ff
lea eax, [ebp - 0xcd3]
push 0
push eax
mov byte [ebp - 0xcd4], 0
call fcn.1000b010
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0xcd4]
mov dword [ebp - 0x28], 0x46646950
mov word [ebp - 0x20], 0x22
mov word [ebp - 0x23], 0x656c
mov byte [ebp - 0x24], 0x69
mov byte [ebp - 0x21], 0x20
call fcn.10004cc0
sub esp, 0xc
mov ecx, esp
push 0x100516c0
call fcn.10002000
lea ecx, [ebp - 0x18f0]
call fcn.1003d430
add esp, 0x18
mov ecx, eax
call fcn.10001fa0
mov edx, eax
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
lea ecx, [ebp - 0x18f0]
call fcn.10001f60
lea edx, [ebp - 0x5c]
lea ecx, [ebp - 0xcd4]
mov word [ebp - 0x51], 0x64
mov word [ebp - 0x5b], 0x5052
mov byte [ebp - 0x5c], 0x5c
mov dword [ebp - 0x58], 0x6f725041
mov word [ebp - 0x54], 0x702e
mov byte [ebp - 0x59], 0x43
mov byte [ebp - 0x52], 0x69
call fcn.10004cd0
mov edx, 0x1004894c
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcd4]
mov dword [ebp - 0x19], 0x656c6946
mov word [ebp - 0x1c], 0x6f4c
mov byte [ebp - 0x1a], 0x67
mov word [ebp - 0x15], 0x2220
mov byte [ebp - 0x13], 0
call fcn.10004cd0
sub esp, 0x18
mov ecx, esp
push 0x100516c0
call fcn.10002000
lea ecx, [ebp - 0x1758]
call fcn.1003d430
add esp, 0x18
mov ecx, eax
call fcn.10001fa0
mov edx, eax
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
lea ecx, [ebp - 0x1758]
call fcn.10001f60
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0xcd4]
mov dword [ebp - 0x63], 0x676f6c
mov dword [ebp - 0x6b], 0x41435052
mov dword [ebp - 0x67], 0x2e6f7250
mov byte [ebp - 0x6c], 0x5c
call fcn.10004cd0
mov edx, 0x1004894c
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
mov word [ebp - 0xa2], 0x22
lea edx, [ebp - 0xb4]
lea ecx, [ebp - 0xcd4]
mov dword [ebp - 0xae], 0x69446573
mov dword [ebp - 0xa7], 0x79726f74
mov dword [ebp - 0xb2], 0x61626174
mov word [ebp - 0xa9], 0x6365
mov byte [ebp - 0xa3], 0x20
mov word [ebp - 0xb4], 0x6144
mov byte [ebp - 0xaa], 0x72
call fcn.10004cd0
sub esp, 0x18
mov ecx, esp
push 0x100516c0
call fcn.10002000
lea ecx, [ebp - 0x1950]
call fcn.1003d430
add esp, 0x18
mov ecx, eax
call fcn.10001fa0
mov edx, eax
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
lea ecx, [ebp - 0x1950]
call fcn.10001f60
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0xcd4]
mov dword [ebp - 0x33], 0x61746164
mov word [ebp - 0x2f], 0x6162
mov byte [ebp - 0x34], 0x5c
mov word [ebp - 0x2c], 0x65
mov byte [ebp - 0x2d], 0x73
call fcn.10004cd0
mov edx, 0x1004894c
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
lea edx, [ebp - 0x8c]
lea ecx, [ebp - 0xcd4]
mov word [ebp - 0x7f], 0x30
mov word [ebp - 0x87], 0x6b63
mov dword [ebp - 0x84], 0x33332074
mov dword [ebp - 0x8b], 0x6f535043
mov byte [ebp - 0x80], 0x31
mov byte [ebp - 0x8c], 0x54
mov byte [ebp - 0x85], 0x65
call fcn.10004cd0
mov edx, 0x10048950
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0xcd4]
mov word [ebp - 0x93], 0x302e
mov word [ebp - 0x90], 0x31
mov word [ebp - 0x98], 0x3231
mov dword [ebp - 0x9f], 0x64415043
mov word [ebp - 0x9b], 0x7264
mov word [ebp - 0x96], 0x2e37
mov byte [ebp - 0x99], 0x20
mov byte [ebp - 0x91], 0x2e
mov byte [ebp - 0xa0], 0x54
mov byte [ebp - 0x94], 0x30
call fcn.10004cd0
mov edx, 0x10048950
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0xcd4]
mov dword [ebp - 0x4c], 0x666c6553
mov dword [ebp - 0x46], 0x206b6365
mov word [ebp - 0x42], 0x30
mov word [ebp - 0x48], 0x6843
call fcn.10004cd0
mov edx, 0x10048950
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
mov dword [ebp - 0xd1], 0x6579206b
mov word [ebp - 0xd6], 0x4374
mov dword [ebp - 0xe0], 0x61736944
mov word [ebp - 0xd3], 0x6365
mov byte [ebp - 0xd4], 0x68
mov dword [ebp - 0xda], 0x72654365
mov word [ebp - 0xdc], 0x6c62
lea edx, [ebp - 0xe0]
lea ecx, [ebp - 0xcd4]
mov word [ebp - 0xcd], 0x73
call fcn.10004cd0
mov edx, 0x10048950
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
lea edx, [ebp - 0x7c]
lea ecx, [ebp - 0xcd4]
mov dword [ebp - 0x79], 0x6f546563
mov dword [ebp - 0x73], 0x6e206b73
mov word [ebp - 0x7c], 0x6f46
mov word [ebp - 0x75], 0x6944
mov word [ebp - 0x6f], 0x6f
mov byte [ebp - 0x7a], 0x72
call fcn.10004cd0
mov edx, 0x10048950
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0xcd4]
mov word [ebp - 0x40], 0x6353
mov dword [ebp - 0x3d], 0x464c456e
mov dword [ebp - 0x39], 0x6f6e20
mov byte [ebp - 0x3e], 0x61
call fcn.10004cd0
mov edx, 0x10048950
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
lea edx, [ebp - 0xf8]
lea ecx, [ebp - 0xcd4]
mov dword [ebp - 0xee], 0x74616e67
mov dword [ebp - 0xe6], 0x6f6e20
mov dword [ebp - 0xf6], 0x69687369
mov dword [ebp - 0xf2], 0x6953676e
mov word [ebp - 0xf8], 0x6850
mov dword [ebp - 0xea], 0x73657275
call fcn.10004cd0
mov edx, 0x10048950
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
lea edx, [ebp - 0xc8]
lea ecx, [ebp - 0xcd4]
mov dword [ebp - 0xc2], 0x6353676e
mov word [ebp - 0xbe], 0x6e61
mov word [ebp - 0xb6], 0x6f
mov dword [ebp - 0xbb], 0x20734c52
mov dword [ebp - 0xc8], 0x73696850
mov word [ebp - 0xc4], 0x6968
mov byte [ebp - 0xb7], 0x6e
mov byte [ebp - 0xbc], 0x55
call fcn.10004cd0
mov edx, 0x10048950
lea ecx, [ebp - 0xcd4]
call fcn.10004cd0
lea ecx, [ebp - 0xcd4]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100394e0
push 0
lea eax, [ebp - 0x1710]
push eax
sub ecx, edx
push ecx
lea eax, [ebp - 0xcd4]
push eax
push esi
call dword [0x1006fa1c]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x43
mov word [ebp - 0x278], ax
mov eax, 0x63
mov word [ebp - 0x25e], ax
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x19e0]
mov dword [ebp - 0x276], 0x500041
mov dword [ebp - 0x262], 0x2e0072
mov dword [ebp - 0x26a], 0x610064
mov dword [ebp - 0x258], 0x66
mov dword [ebp - 0x27c], 0x50005c
mov dword [ebp - 0x25c], 0x6e006f
mov dword [ebp - 0x26e], 0x700055
mov dword [ebp - 0x266], 0x650074
mov dword [ebp - 0x272], 0x6f0072
call fcn.10002000
mov esi, eax
push 0x100516c0
lea ecx, [ebp - 0x19b0]
mov byte [ebp - 4], 0x13
call fcn.10002000
push esi
mov edx, eax
lea ecx, [ebp - 0x1980]
mov byte [ebp - 4], 0x14
call fcn.10004c40
add esp, 4
mov ecx, eax
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
call fcn.100021a0
push eax
call edi
lea ecx, [ebp - 0x1980]
mov edi, eax
call fcn.100020d0
lea ecx, [ebp - 0x19b0]
call fcn.100020d0
lea ecx, [ebp - 0x19e0]
mov byte [ebp - 4], 0xf
call fcn.100020d0
cmp edi, 0xffffffff
je 0x100398e1
push 0
push 0
push 0
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push edi
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
lea ecx, [ebp + 8]
call fcn.100021c0
mov esi, 0x61
test al, al
je 0x100396c8
mov eax, 0x64
mov word [ebp - 0x2a4], ax
mov eax, 0x73
mov word [ebp - 0x298], ax
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x1a10]
mov dword [ebp - 0x288], 0x2e0076
mov dword [ebp - 0x29c], 0x610062
mov dword [ebp - 0x292], 0x6c0063
mov dword [ebp - 0x28c], 0x61006d
mov dword [ebp - 0x2a2], 0x740061
mov dword [ebp - 0x296], 0x2e0065
mov dword [ebp - 0x284], 0x65006e
mov word [ebp - 0x29e], si
mov dword [ebp - 0x280], 0x74
mov word [ebp - 0x28e], si
call fcn.10002000
push eax
lea ecx, [ebp + 8]
call fcn.10002060
lea ecx, [ebp - 0x1a10]
call fcn.100020d0
xor eax, eax
mov word [ebp - 0x1a2], ax
mov eax, 0x72
mov word [ebp - 0x1ac], ax
mov eax, 0x74
mov word [ebp - 0x1bc], ax
xor eax, eax
mov word [ebp - 0x2a6], ax
mov eax, 0x53
mov word [ebp - 0x2cc], ax
mov eax, 0x79
mov word [ebp - 0x2ac], ax
mov eax, 0x74
mov word [ebp - 0x2c2], ax
lea eax, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x1a88]
mov dword [ebp - 0x1c0], 0x610044
mov dword [ebp - 0x1a6], 0x200072
mov dword [ebp - 0x1aa], 0x6f0072
mov dword [ebp - 0x1b4], 0x650073
mov dword [ebp - 0x1ba], 0x620061
mov dword [ebp - 0x1b0], 0x69004d
mov word [ebp - 0x1b6], si
mov dword [ebp - 0x2b8], 0x610064
mov dword [ebp - 0x2c6], 0x700069
mov dword [ebp - 0x2b0], 0x200073
mov dword [ebp - 0x2b4], 0x650074
mov dword [ebp - 0x2ca], 0x720063
mov dword [ebp - 0x2bc], 0x700055
mov dword [ebp - 0x2aa], 0x730065
mov dword [ebp - 0x2c0], 0x640065
call fcn.10002000
mov esi, eax
lea eax, [ebp - 0x1c0]
push eax
lea ecx, [ebp - 0x1788]
mov byte [ebp - 4], 0x15
call fcn.10002000
lea ecx, [ebp + 8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x1aa0]
mov byte [ebp - 4], 0x16
call fcn.10004ce0
push 0x10048954
mov edx, eax
lea ecx, [ebp - 0x1a70]
mov byte [ebp - 4], 0x17
call fcn.10004b10
push esi
mov edx, eax
lea ecx, [ebp - 0x1a40]
mov byte [ebp - 4], 0x18
call fcn.10004c40
add esp, 0xc
lea ecx, [ebp + 8]
push eax
call fcn.10002060
lea ecx, [ebp - 0x1a40]
call fcn.100020d0
lea ecx, [ebp - 0x1a70]
call fcn.100020d0
lea ecx, [ebp - 0x1aa0]
call fcn.100020d0
lea ecx, [ebp - 0x1788]
call fcn.100020d0
lea ecx, [ebp - 0x1a88]
mov byte [ebp - 4], 0xf
call fcn.100020d0
push 0x7ff
lea eax, [ebp - 0x16db]
push 0
push eax
mov byte [ebp - 0x16dc], 0
call fcn.1000b010
sub esp, 0xc
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.10001fb0
lea ecx, [ebp - 0x17b8]
call fcn.1003d430
add esp, 0x18
mov ecx, eax
call fcn.10001fa0
mov edx, eax
lea ecx, [ebp - 0x16dc]
call fcn.10004cd0
lea ecx, [ebp - 0x17b8]
call fcn.10001f60
lea ecx, [ebp - 0x16dc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100398b5
push 0
lea eax, [ebp - 0x170c]
push eax
sub ecx, edx
push ecx
lea eax, [ebp - 0x16dc]
push eax
push edi
call dword [0x1006fa1c]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
jmp 0x100398e7
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x100488a7
push 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x1c], 0
call fcn.1000a278
xor eax, eax
add esp, 8
mov word [ebp - 0x1708], ax
mov dword [ebp - 0x16fe], eax
mov word [ebp - 0x16fa], ax
mov dword [ebp - 0x16e4], eax
mov dword [ebp - 0x16e0], eax
lea eax, [ebp - 0x1708]
xorps xmm0, xmm0
push eax
movq qword [ebp - 0x1706], xmm0
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0x16e4]
push eax
lea eax, [ebp - 0x1708]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov ecx, dword [ebp - 0x16e0]
xor eax, eax
or eax, dword [ebp - 0x16e4]
and ecx, 0x7fffffff
mov dword [ebx + 0x70], eax
lea eax, [ebp - 0x108]
mov dword [ebx + 0x74], ecx
push eax
lea ecx, [ebp - 0x1938]
mov dword [ebp - 0x104], 0x45
mov dword [ebp - 0x108], 0x580045
call fcn.10002000
push eax
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 0x19
call fcn.10002280
lea ecx, [ebp - 0x1938]
mov byte [ebp - 4], 0xf
call fcn.100020d0
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x17e8]
mov dword [ebp - 0x140], 0x4c0044
mov dword [ebp - 0x13c], 0x4c
call fcn.10002000
push eax
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 0x1a
call fcn.10002280
lea ecx, [ebp - 0x17e8]
mov byte [ebp - 4], 0xf
call fcn.100020d0
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x19f8]
mov dword [ebp - 0x118], 0x4f0043
mov dword [ebp - 0x114], 0x4d
call fcn.10002000
push eax
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 0x1b
call fcn.10002280
lea ecx, [ebp - 0x19f8]
mov byte [ebp - 4], 0xf
call fcn.100020d0
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x1818]
mov dword [ebp - 0x12c], 0x4c
mov dword [ebp - 0x130], 0x500043
call fcn.10002000
push eax
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 0x1c
call fcn.10002280
lea ecx, [ebp - 0x1818]
mov byte [ebp - 4], 0xf
call fcn.100020d0
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x1968]
mov dword [ebp - 0x128], 0x43004f
mov dword [ebp - 0x124], 0x58
call fcn.10002000
push eax
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 0x1d
call fcn.10002280
lea ecx, [ebp - 0x1968]
mov byte [ebp - 4], 0xf
call fcn.100020d0
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x1848]
mov dword [ebp - 0x120], 0x580056
mov dword [ebp - 0x11c], 0x44
call fcn.10002000
push eax
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 0x1e
call fcn.10002280
lea ecx, [ebp - 0x1848]
mov byte [ebp - 4], 0xf
call fcn.100020d0
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x1a58]
mov dword [ebp - 0x138], 0x590053
mov dword [ebp - 0x134], 0x53
call fcn.10002000
push eax
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 0x1f
call fcn.10002280
lea ecx, [ebp - 0x1a58]
mov byte [ebp - 4], 0xf
call fcn.100020d0
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x1878]
mov dword [ebp - 0x144], 0x52
mov dword [ebp - 0x148], 0x430053
call fcn.10002000
push eax
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 0x20
call fcn.10002280
lea ecx, [ebp - 0x1878]
mov byte [ebp - 4], 0xf
call fcn.100020d0
mov eax, 0x56
mov word [ebp - 0x158], ax
xor eax, eax
mov word [ebp - 0x152], ax
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x1998]
mov dword [ebp - 0x156], 0x410042
call fcn.10002000
push eax
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 0x21
call fcn.10002280
lea ecx, [ebp - 0x1998]
mov byte [ebp - 4], 0xf
call fcn.100020d0
xor eax, eax
mov word [ebp - 0x10a], ax
mov eax, 0x56
mov dword [ebp - 0x10e], 0x450042
mov word [ebp - 0x110], ax
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x18a8]
call fcn.10002000
push eax
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 0x22
call fcn.10002280
lea ecx, [ebp - 0x18a8]
mov byte [ebp - 4], 0xf
call fcn.100020d0
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x1a28]
mov dword [ebp - 0x14c], 0x53
mov dword [ebp - 0x150], 0x420056
call fcn.10002000
push eax
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 0x23
call fcn.10002280
lea ecx, [ebp - 0x1a28]
mov byte [ebp - 4], 0xf
call fcn.100020d0
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x18d8]
mov dword [ebp - 0x100], 0x420056
mov dword [ebp - 0xfc], 0x58
call fcn.10002000
push eax
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 0x24
call fcn.10002280
lea ecx, [ebp - 0x18d8]
mov byte [ebp - 4], 0xf
call fcn.100020d0
xor eax, eax
mov ecx, 0x61
mov word [ebp - 0x230], ax
lea esi, [ecx - 5]
lea eax, [ebp - 0x254]
mov word [ebp - 0x248], cx
push eax
lea ecx, [ebp - 0x1908]
mov dword [ebp - 0x250], 0x740061
mov dword [ebp - 0x240], 0x61006d
mov dword [ebp - 0x254], 0x64005c
mov dword [ebp - 0x238], 0x63002e
mov dword [ebp - 0x246], 0x650073
mov dword [ebp - 0x234], 0x640076
mov dword [ebp - 0x23c], 0x6e0069
mov dword [ebp - 0x24c], 0x620061
mov word [ebp - 0x242], si
call fcn.10002000
mov esi, eax
push 0x100516c0
lea ecx, [ebp - 0x19c8]
mov byte [ebp - 4], 0x25
call fcn.10002000
push esi
mov edx, eax
lea ecx, [ebp - 0x1728]
mov byte [ebp - 4], 0x26
call fcn.10004c40
add esp, 4
lea ecx, [ebp - 0x19c8]
call fcn.100020d0
lea ecx, [ebp - 0x1908]
mov byte [ebp - 4], 0x29
call fcn.100020d0
lea ecx, [ebp - 0x1728]
call fcn.100021a0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10039db6
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
lea ecx, [ebp - 0x1728]
call fcn.100021a0
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x10039db6
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
test eax, eax
jne 0x10039db1
mov byte [ebx + 0x2b], al
push esi
call edi
jmp 0x10039dba
mov byte [ebx + 0x2b], 0
cmp byte [ebx + 0x2b], 0
je 0x10039dc7
mov ecx, ebx
call fcn.10038410
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x17d0]
mov dword [ebp - 0x184], 0x52005c
mov dword [ebp - 0x174], 0x74002e
mov dword [ebp - 0x170], 0x6d
mov dword [ebp - 0x178], 0x6f0072
mov dword [ebp - 0x180], 0x430050
mov dword [ebp - 0x17c], 0x500041
call fcn.10002000
mov esi, eax
push 0x100516c0
lea ecx, [ebp - 0x17a0]
mov byte [ebp - 4], 0x2a
call fcn.10002000
push esi
mov edx, eax
lea ecx, [ebp - 0x1770]
mov byte [ebp - 4], 0x2b
call fcn.10004c40
add esp, 4
lea ecx, [ebx + 0x4180]
push eax
call fcn.10002060
lea ecx, [ebp - 0x1770]
call fcn.100020d0
lea ecx, [ebp - 0x17a0]
call fcn.100020d0
lea ecx, [ebp - 0x17d0]
mov byte [ebp - 4], 0x29
call fcn.100020d0
mov ecx, 0x43
lea eax, [ebp - 0x1e4]
mov word [ebp - 0x1d4], cx
push eax
lea ecx, [ebp - 0x1860]
mov dword [ebp - 0x1d8], 0x6f0072
mov dword [ebp - 0x1c6], 0x6d
mov dword [ebp - 0x1e0], 0x430050
mov dword [ebp - 0x1d2], 0x650068
mov dword [ebp - 0x1ca], 0x74002e
mov dword [ebp - 0x1ce], 0x6b0063
mov dword [ebp - 0x1dc], 0x500041
mov dword [ebp - 0x1e4], 0x52005c
call fcn.10002000
mov esi, eax
push 0x100516c0
lea ecx, [ebp - 0x1830]
mov byte [ebp - 4], 0x2c
call fcn.10002000
push esi
mov edx, eax
lea ecx, [ebp - 0x1800]
mov byte [ebp - 4], 0x2d
call fcn.10004c40
add esp, 4
lea ecx, [ebx + 0x419c]
push eax
call fcn.10002060
lea ecx, [ebp - 0x1800]
call fcn.100020d0
lea ecx, [ebp - 0x1830]
call fcn.100020d0
lea ecx, [ebp - 0x1860]
mov byte [ebp - 4], 0x29
call fcn.100020d0
call fcn.10039fe0
test eax, eax
setg al
cmp dword [0x1006f9fc], 0
jne 0x10039f6d
test al, al
jne 0x10039f6d
push 0
push 0
push ebx
push 0x1003a800
push 0
push 0
call fcn.10009fc5
add esp, 0x18
mov dword [0x1006f9fc], eax
cmp byte [ebx + 0x2b], 0
jne 0x10039f95
cmp dword [0x1006f9f4], 0
jne 0x10039f95
push 0x7d0
mov byte [0x100516ba], 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, ebx
call fcn.10037470
lea ecx, [ebp - 0x1728]
call fcn.100020d0
lea ecx, [ebp + 8]
call fcn.100020d0
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100084c3
mov esp, ebp
pop ebp
ret 0x1c