Function at 0x100adfb0
Capabilities:
Access peb ldr_data
Check if file exists
Get file attributes
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e70fb
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xe8c
mov eax, dword [0x103dda04]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x858], ecx
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x388], 0x104
mov eax, dword [ebp - 0x388]
xor eax, 0x78f461
mov dword [ebp - 0x388], eax
mov ecx, 0x78f461
movd xmm0, ecx
movaps xmmword [ebp - 0xdc0], xmm0
movaps xmm0, xmmword [ebp - 0xdc0]
movaps xmmword [ebp - 0xdf0], xmm0
mov edx, dword [ebp - 0x388]
movd xmm0, edx
movaps xmmword [ebp - 0xdd0], xmm0
movaps xmm0, xmmword [ebp - 0xdd0]
movaps xmmword [ebp - 0xde0], xmm0
movaps xmm0, xmmword [ebp - 0xde0]
pxor xmm0, xmmword [ebp - 0xdf0]
movaps xmmword [ebp - 0xe00], xmm0
movaps xmm0, xmmword [ebp - 0xe00]
movaps xmmword [ebp - 0xe10], xmm0
movaps xmm0, xmmword [ebp - 0xe10]
movd eax, xmm0
push eax
lea ecx, [ebp - 0x120]
push ecx
mov edx, dword [ebx + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.1000c630
mov dword [ebp - 4], 0
xor ecx, ecx
mov byte [ebp - 0x43c], cl
xor edx, edx
mov byte [ebp - 0x3f9], dl
xor eax, eax
mov byte [ebp - 0x3fa], al
mov cl, byte [ebp - 0x43c]
mov byte [ebp - 0x524], cl
mov dl, byte [ebp - 0x3f9]
mov byte [ebp - 0x520], dl
mov al, byte [ebp - 0x3fa]
mov byte [ebp - 0x51c], al
mov ecx, 0x6a48c415
mov dword [ebp - 0x580], 0xbc138d59
mov dword [ebp - 0x57c], ecx
mov edx, 0xea624fe8
mov dword [ebp - 0x578], 0xb7adc482
mov dword [ebp - 0x574], edx
mov eax, 0x6a48c415
mov dword [ebp - 0x2d0], 0xbc13a205
mov dword [ebp - 0x2cc], eax
mov ecx, 0xea624fe8
mov dword [ebp - 0x2c8], 0xb7adc482
mov dword [ebp - 0x2c4], ecx
xor edx, edx
je 0x100ae147
jmp 0x100ae187
movaps xmm0, xmmword [ebp - 0x2d0]
movaps xmmword [ebp - 0xe30], xmm0
movaps xmm0, xmmword [ebp - 0x580]
movaps xmmword [ebp - 0xe20], xmm0
movaps xmm0, xmmword [ebp - 0xe20]
pxor xmm0, xmmword [ebp - 0xe30]
movaps xmmword [ebp - 0xe40], xmm0
movaps xmm0, xmmword [ebp - 0xe40]
movaps xmmword [ebp - 0x580], xmm0
mov eax, 1
test eax, eax
je 0x100ae192
jmp 0x100ae1d2
movaps xmm0, xmmword [ebp - 0x2c0]
movaps xmmword [ebp - 0xce0], xmm0
movaps xmm0, xmmword [ebp - 0x570]
movaps xmmword [ebp - 0xe50], xmm0
movaps xmm0, xmmword [ebp - 0xe50]
pxor xmm0, xmmword [ebp - 0xce0]
movaps xmmword [ebp - 0xd70], xmm0
movaps xmm0, xmmword [ebp - 0xd70]
movaps xmmword [ebp - 0x570], xmm0
lea ecx, [ebp - 0x580]
mov dword [ebp - 0x78c], ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0x78c]
push edx
lea ecx, [ebp - 0x3d0]
call fcn.100b0440
mov dword [ebp - 0x790], eax
push 0xffffffffffffffff
mov eax, dword [ebp - 0x790]
add eax, 1
push eax
lea ecx, [ebp - 0xe78]
push ecx
lea ecx, [ebp - 0x3d0]
call fcn.100b0530
mov dword [ebp - 0x794], eax
mov edx, dword [ebp - 0x794]
push edx
lea ecx, [ebp - 0x3d0]
call fcn.1000d590
lea ecx, [ebp - 0xe78]
call fcn.1000d0d0
xor eax, eax
mov byte [ebp - 0x3fb], al
xor ecx, ecx
mov byte [ebp - 0x3fc], cl
xor edx, edx
mov byte [ebp - 0x3fd], dl
mov al, byte [ebp - 0x3fb]
mov byte [ebp - 0x518], al
mov cl, byte [ebp - 0x3fc]
mov byte [ebp - 0x514], cl
mov dl, byte [ebp - 0x3fd]
mov byte [ebp - 0x4d8], dl
mov eax, 0x62cea20
mov dword [ebp - 0x5a0], 0x8d7fc86c
mov dword [ebp - 0x59c], eax
mov ecx, 0xea624fe8
mov dword [ebp - 0x598], 0xb7adc4ee
mov dword [ebp - 0x594], ecx
mov edx, 0x6a48c415
mov dword [ebp - 0x2f0], 0xbc13a205
mov dword [ebp - 0x2ec], edx
mov eax, 0xea624fe8
mov dword [ebp - 0x2e8], 0xb7adc482
mov dword [ebp - 0x2e4], eax
xor ecx, ecx
je 0x100ae2cf
jmp 0x100ae30f
movaps xmm0, xmmword [ebp - 0x2f0]
movaps xmmword [ebp - 0xd90], xmm0
movaps xmm0, xmmword [ebp - 0x5a0]
movaps xmmword [ebp - 0xd80], xmm0
movaps xmm0, xmmword [ebp - 0xd80]
pxor xmm0, xmmword [ebp - 0xd90]
movaps xmmword [ebp - 0xda0], xmm0
movaps xmm0, xmmword [ebp - 0xda0]
movaps xmmword [ebp - 0x5a0], xmm0
mov edx, 1
test edx, edx
je 0x100ae31a
jmp 0x100ae35a
movaps xmm0, xmmword [ebp - 0x2e0]
movaps xmmword [ebp - 0x880], xmm0
movaps xmm0, xmmword [ebp - 0x590]
movaps xmmword [ebp - 0x870], xmm0
movaps xmm0, xmmword [ebp - 0x870]
pxor xmm0, xmmword [ebp - 0x880]
movaps xmmword [ebp - 0x890], xmm0
movaps xmm0, xmmword [ebp - 0x890]
movaps xmmword [ebp - 0x590], xmm0
lea eax, [ebp - 0x5a0]
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x798]
push ecx
lea edx, [ebp - 0x3d0]
push edx
call fcn.100adf20
add esp, 8
movzx eax, al
test eax, eax
je 0x100af1f9
mov dword [ebp - 0x380], 0x539
mov ecx, dword [ebp - 0x380]
xor ecx, 0x78f461
mov dword [ebp - 0x380], ecx
mov edx, 0x78f461
movd xmm0, edx
movaps xmmword [ebp - 0x8a0], xmm0
movaps xmm0, xmmword [ebp - 0x8a0]
movaps xmmword [ebp - 0xba0], xmm0
mov eax, dword [ebp - 0x380]
movd xmm0, eax
movaps xmmword [ebp - 0x8b0], xmm0
movaps xmm0, xmmword [ebp - 0x8b0]
movaps xmmword [ebp - 0x8c0], xmm0
movaps xmm0, xmmword [ebp - 0x8c0]
pxor xmm0, xmmword [ebp - 0xba0]
movaps xmmword [ebp - 0x8d0], xmm0
movaps xmm0, xmmword [ebp - 0x8d0]
movaps xmmword [ebp - 0x8e0], xmm0
movaps xmm0, xmmword [ebp - 0x8e0]
movd ecx, xmm0
push ecx
mov ecx, 0x103e8c58
call fcn.100ab850
xor edx, edx
mov byte [ebp - 0x3fe], dl
xor eax, eax
mov byte [ebp - 0x3ff], al
xor ecx, ecx
mov byte [ebp - 0x400], cl
mov dl, byte [ebp - 0x3fe]
mov byte [ebp - 0x510], dl
mov al, byte [ebp - 0x3ff]
mov byte [ebp - 0x50c], al
mov cl, byte [ebp - 0x400]
mov byte [ebp - 0x508], cl
mov edx, 0x99ed21b1
mov dword [ebp - 0x620], 0x72a1d6ad
mov dword [ebp - 0x61c], edx
mov eax, 0xda78541
mov dword [ebp - 0x618], 0x54137d25
mov dword [ebp - 0x614], eax
mov ecx, 0xb6c0d586
mov dword [ebp - 0x610], 0xeb8d39c4
mov dword [ebp - 0x60c], ecx
mov edx, 0xefdb4112
mov dword [ebp - 0x608], 0x57baf63c
mov dword [ebp - 0x604], edx
mov eax, 0x751940f9
mov dword [ebp - 0x600], 0x2134bdb9
mov dword [ebp - 0x5fc], eax
mov ecx, 0x153da8c
mov dword [ebp - 0x5f8], 0x47877d26
mov dword [ebp - 0x5f4], ecx
mov edx, 0x6a48c415
mov dword [ebp - 0x2b0], 0xbc13a205
mov dword [ebp - 0x2ac], edx
mov eax, 0xea624fe8
mov dword [ebp - 0x2a8], 0xb7adc482
mov dword [ebp - 0x2a4], eax
mov ecx, 0xff610437
mov dword [ebp - 0x2a0], 0x4928eb07
mov dword [ebp - 0x29c], ecx
mov edx, 0xdfeb7122
mov dword [ebp - 0x298], 0x67c2c614
mov dword [ebp - 0x294], edx
mov eax, 0x751940f9
mov dword [ebp - 0x290], 0x80cfe89
mov dword [ebp - 0x28c], eax
mov ecx, 0x153da8c
mov dword [ebp - 0x288], 0x47877d26
mov dword [ebp - 0x284], ecx
xor edx, edx
je 0x100ae558
jmp 0x100ae598
movaps xmm0, xmmword [ebp - 0x2b0]
movaps xmmword [ebp - 0x900], xmm0
movaps xmm0, xmmword [ebp - 0x620]
movaps xmmword [ebp - 0x8f0], xmm0
movaps xmm0, xmmword [ebp - 0x8f0]
pxor xmm0, xmmword [ebp - 0x900]
movaps xmmword [ebp - 0x910], xmm0
movaps xmm0, xmmword [ebp - 0x910]
movaps xmmword [ebp - 0x620], xmm0
xor eax, eax
je 0x100ae59e
jmp 0x100ae5de
movaps xmm0, xmmword [ebp - 0x2a0]
movaps xmmword [ebp - 0x930], xmm0
movaps xmm0, xmmword [ebp - 0x610]
movaps xmmword [ebp - 0x920], xmm0
movaps xmm0, xmmword [ebp - 0x920]
pxor xmm0, xmmword [ebp - 0x930]
movaps xmmword [ebp - 0x940], xmm0
movaps xmm0, xmmword [ebp - 0x940]
movaps xmmword [ebp - 0x610], xmm0
xor ecx, ecx
je 0x100ae5e4
jmp 0x100ae624
movaps xmm0, xmmword [ebp - 0x290]
movaps xmmword [ebp - 0x960], xmm0
movaps xmm0, xmmword [ebp - 0x600]
movaps xmmword [ebp - 0x950], xmm0
movaps xmm0, xmmword [ebp - 0x950]
pxor xmm0, xmmword [ebp - 0x960]
movaps xmmword [ebp - 0x970], xmm0
movaps xmm0, xmmword [ebp - 0x970]
movaps xmmword [ebp - 0x600], xmm0
mov edx, 1
test edx, edx
je 0x100ae62f
jmp 0x100ae66f
movaps xmm0, xmmword [ebp - 0x280]
movaps xmmword [ebp - 0x990], xmm0
movaps xmm0, xmmword [ebp - 0x5f0]
movaps xmmword [ebp - 0x980], xmm0
movaps xmm0, xmmword [ebp - 0x980]
pxor xmm0, xmmword [ebp - 0x990]
movaps xmmword [ebp - 0x9a0], xmm0
movaps xmm0, xmmword [ebp - 0x9a0]
movaps xmmword [ebp - 0x5f0], xmm0
mov eax, 1
test eax, eax
je 0x100ae67a
jmp 0x100ae6ba
movaps xmm0, xmmword [ebp - 0x270]
movaps xmmword [ebp - 0x9c0], xmm0
movaps xmm0, xmmword [ebp - 0x5e0]
movaps xmmword [ebp - 0x9b0], xmm0
movaps xmm0, xmmword [ebp - 0x9b0]
pxor xmm0, xmmword [ebp - 0x9c0]
movaps xmmword [ebp - 0x9d0], xmm0
movaps xmm0, xmmword [ebp - 0x9d0]
movaps xmmword [ebp - 0x5e0], xmm0
mov ecx, 1
test ecx, ecx
je 0x100ae6c5
jmp 0x100ae705
movaps xmm0, xmmword [ebp - 0x260]
movaps xmmword [ebp - 0x9f0], xmm0
movaps xmm0, xmmword [ebp - 0x5d0]
movaps xmmword [ebp - 0x9e0], xmm0
movaps xmm0, xmmword [ebp - 0x9e0]
pxor xmm0, xmmword [ebp - 0x9f0]
movaps xmmword [ebp - 0xa00], xmm0
movaps xmm0, xmmword [ebp - 0xa00]
movaps xmmword [ebp - 0x5d0], xmm0
lea edx, [ebp - 0x620]
mov dword [ebp - 0x7ec], edx
mov eax, dword [ebp - 0x7ec]
push eax
mov ecx, 0x103df448
call fcn.1002d5c0
mov dword [ebp - 0x670], 0
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x7f0], ecx
mov edx, dword [ebp - 0x7f0]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x7f4], eax
mov ecx, dword [ebp - 0x7f4]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x7f8], edx
mov eax, dword [ebp - 0x7f8]
mov dword [ebp - 0x3e8], eax
mov ecx, dword [ebp - 0x3e8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x478], edx
mov eax, dword [ebp - 0x478]
mov dword [ebp - 0x360], eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ebp - 0x478]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x7fc], edx
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x7fc]
mov eax, dword [edx + ecx + 0x78]
mov ecx, dword [edx + ecx + 0x7c]
mov dword [ebp - 0x7a0], eax
mov dword [ebp - 0x79c], ecx
mov edx, dword [ebp - 0x478]
add edx, dword [ebp - 0x7a0]
mov dword [ebp - 0x35c], edx
mov eax, dword [ebp - 0x79c]
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x35c]
cmp ecx, dword [ebp - 0x360]
je 0x100ae7ed
mov dword [ebp - 0x558], 1
jmp 0x100ae7f7
mov dword [ebp - 0x558], 0
mov dl, byte [ebp - 0x558]
mov byte [ebp - 0x401], dl
movzx eax, byte [ebp - 0x401]
test eax, eax
je 0x100ae94f
mov ecx, dword [ebp - 0x35c]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x800], eax
mov ecx, dword [ebp - 0x44c]
sub ecx, 1
mov dword [ebp - 0x44c], ecx
cmp dword [ebp - 0x800], 0
je 0x100ae94f
mov edx, dword [ebp - 0x35c]
mov eax, dword [ebp - 0x360]
add eax, dword [edx + 0x20]
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp - 0x44c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x804], ecx
mov eax, dword [ebp - 0x804]
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x484], 0x811c9dc5
mov ecx, dword [ebp - 0x480]
mov dl, byte [ecx]
mov byte [ebp - 0x402], dl
mov eax, dword [ebp - 0x480]
add eax, 1
mov dword [ebp - 0x480], eax
mov cl, byte [ebp - 0x402]
mov byte [ebp - 0x3ee], cl
movsx edx, byte [ebp - 0x3ee]
test edx, edx
jne 0x100ae8c5
mov eax, dword [ebp - 0x484]
mov dword [ebp - 0x808], eax
jmp 0x100ae8e1
movsx eax, byte [ebp - 0x3ee]
xor eax, dword [ebp - 0x484]
mov ecx, 0x1000193
mul ecx
mov dword [ebp - 0x484], eax
jmp 0x100ae883
cmp dword [ebp - 0x808], 0x6dd8a845
jne 0x100ae94a
mov edx, dword [ebp - 0x35c]
mov eax, dword [ebp - 0x360]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x810], eax
mov ecx, dword [ebp - 0x35c]
mov edx, dword [ebp - 0x360]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x80c], edx
mov eax, dword [ebp - 0x44c]
mov ecx, dword [ebp - 0x80c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x810]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x814], eax
mov edx, dword [ebp - 0x814]
mov dword [ebp - 0x55c], edx
jmp 0x100ae995
jmp 0x100ae821
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x818], eax
mov ecx, dword [ebp - 0x818]
mov edx, dword [ecx]
mov dword [ebp - 0x81c], edx
mov eax, dword [ebp - 0x81c]
mov dword [ebp - 0x3e8], eax
mov byte [ebp - 0x403], 1
movzx ecx, byte [ebp - 0x403]
test ecx, ecx
jne 0x100ae763
mov dword [ebp - 0x55c], 0
call dword [ebp - 0x55c]
mov dword [ebp - 0x674], eax
mov edx, dword [ebp - 0x844]
mov dword [ebp - 0x490], edx
mov eax, dword fs:[0x30]
mov dword [ebp - 0x820], eax
mov ecx, dword [ebp - 0x820]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x824], edx
mov eax, dword [ebp - 0x824]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x828], ecx
mov edx, dword [ebp - 0x828]
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x47c], ecx
mov edx, dword [ebp - 0x47c]
mov dword [ebp - 0x354], edx
mov eax, dword [ebp - 0x47c]
mov ecx, dword [ebp - 0x47c]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x82c], ecx
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x82c]
mov edx, dword [ecx + eax + 0x78]
mov eax, dword [ecx + eax + 0x7c]
mov dword [ebp - 0x7a8], edx
mov dword [ebp - 0x7a4], eax
mov ecx, dword [ebp - 0x47c]
add ecx, dword [ebp - 0x7a8]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x7a4]
mov dword [ebp - 0x34c], edx
mov eax, dword [ebp - 0x350]
cmp eax, dword [ebp - 0x354]
je 0x100aea6d
mov dword [ebp - 0x540], 1
jmp 0x100aea77
mov dword [ebp - 0x540], 0
mov cl, byte [ebp - 0x540]
mov byte [ebp - 0x404], cl
movzx edx, byte [ebp - 0x404]
test edx, edx
je 0x100aebcf
mov eax, dword [ebp - 0x350]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x458]
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x458]
sub eax, 1
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x830], 0
je 0x100aebcf
mov ecx, dword [ebp - 0x350]
mov edx, dword [ebp - 0x354]
add edx, dword [ecx + 0x20]
mov eax, dword [ebp - 0x354]
mov ecx, dword [ebp - 0x458]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x834], eax
mov edx, dword [ebp - 0x834]
mov dword [ebp - 0x488], edx
mov dword [ebp - 0x48c], 0x811c9dc5
mov eax, dword [ebp - 0x488]
mov cl, byte [eax]
mov byte [ebp - 0x43a], cl
mov edx, dword [ebp - 0x488]
add edx, 1
mov dword [ebp - 0x488], edx
mov al, byte [ebp - 0x43a]
mov byte [ebp - 0x3e9], al
movsx ecx, byte [ebp - 0x3e9]
test ecx, ecx
jne 0x100aeb45
mov edx, dword [ebp - 0x48c]
mov dword [ebp - 0x838], edx
jmp 0x100aeb61
movsx eax, byte [ebp - 0x3e9]
xor eax, dword [ebp - 0x48c]
mov ecx, 0x1000193
mul ecx
mov dword [ebp - 0x48c], eax
jmp 0x100aeb03
cmp dword [ebp - 0x838], 0xf84eee59
jne 0x100aebca
mov edx, dword [ebp - 0x350]
mov eax, dword [ebp - 0x354]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x840], eax
mov ecx, dword [ebp - 0x350]
mov edx, dword [ebp - 0x354]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x83c], edx
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x83c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x354]
mov ecx, dword [ebp - 0x840]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x664], eax
mov edx, dword [ebp - 0x664]
mov dword [ebp - 0x490], edx
jmp 0x100aec15
jmp 0x100aeaa1
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x668], eax
mov ecx, dword [ebp - 0x668]
mov edx, dword [ecx]
mov dword [ebp - 0x66c], edx
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x3e0], eax
mov byte [ebp - 0x405], 1
movzx ecx, byte [ebp - 0x405]
test ecx, ecx
jne 0x100ae9e3
mov dword [ebp - 0x490], 0
lea edx, [ebp - 0x670]
push edx
call fcn.10005a00
add esp, 4
mov eax, dword [eax]
mov dword [ebp - 0x678], eax
lea ecx, [ebp - 0x674]
push ecx
call fcn.10005a00
add esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x67c], edx
mov eax, dword [ebp - 0x678]
push eax
mov ecx, dword [ebp - 0x67c]
push ecx
call dword [ebp - 0x490]
xor ebp, ebp
xor esp, esp
cpuid
test ebx, 0x1e697
jmp edx
mov dword [ebp - 0x38c], 0x104
mov ecx, dword [ebp - 0x38c]
xor ecx, 0x78f461
mov dword [ebp - 0x38c], ecx
mov edx, 0x78f461
movd xmm0, edx
movaps xmmword [ebp - 0xa70], xmm0
movaps xmm0, xmmword [ebp - 0xa70]
movaps xmmword [ebp - 0xaa0], xmm0
mov eax, dword [ebp - 0x38c]
movd xmm0, eax
movaps xmmword [ebp - 0xa80], xmm0
movaps xmm0, xmmword [ebp - 0xa80]
movaps xmmword [ebp - 0xa90], xmm0
movaps xmm0, xmmword [ebp - 0xa90]
pxor xmm0, xmmword [ebp - 0xaa0]
movaps xmmword [ebp - 0xab0], xmm0
movaps xmm0, xmmword [ebp - 0xab0]
movaps xmmword [ebp - 0xac0], xmm0
movaps xmm0, xmmword [ebp - 0xac0]
movd ecx, xmm0
push ecx
lea edx, [ebp - 0x228]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x3b8]
call fcn.1000c630
mov byte [ebp - 4], 1
xor ecx, ecx
mov byte [ebp - 0x41a], cl
xor edx, edx
mov byte [ebp - 0x41b], dl
xor eax, eax
mov byte [ebp - 0x41c], al
mov cl, byte [ebp - 0x41a]
mov byte [ebp - 0x504], cl
mov dl, byte [ebp - 0x41b]
mov byte [ebp - 0x4fc], dl
mov al, byte [ebp - 0x41c]
mov byte [ebp - 0x500], al
mov ecx, 0x6a48c415
mov dword [ebp - 0x5c0], 0xbc138d59
mov dword [ebp - 0x5bc], ecx
mov edx, 0xea624fe8
mov dword [ebp - 0x5b8], 0xb7adc482
mov dword [ebp - 0x5b4], edx
mov eax, 0x6a48c415
mov dword [ebp - 0x310], 0xbc13a205
mov dword [ebp - 0x30c], eax
mov ecx, 0xea624fe8
mov dword [ebp - 0x308], 0xb7adc482
mov dword [ebp - 0x304], ecx
xor edx, edx
je 0x100af33d
jmp 0x100af37d
movaps xmm0, xmmword [ebp - 0x310]
movaps xmmword [ebp - 0xae0], xmm0
movaps xmm0, xmmword [ebp - 0x5c0]
movaps xmmword [ebp - 0xad0], xmm0
movaps xmm0, xmmword [ebp - 0xad0]
pxor xmm0, xmmword [ebp - 0xae0]
movaps xmmword [ebp - 0xaf0], xmm0
movaps xmm0, xmmword [ebp - 0xaf0]
movaps xmmword [ebp - 0x5c0], xmm0
mov eax, 1
test eax, eax
je 0x100af388
jmp 0x100af3c8
movaps xmm0, xmmword [ebp - 0x300]
movaps xmmword [ebp - 0xb10], xmm0
movaps xmm0, xmmword [ebp - 0x5b0]
movaps xmmword [ebp - 0xb00], xmm0
movaps xmm0, xmmword [ebp - 0xb00]
pxor xmm0, xmmword [ebp - 0xb10]
movaps xmmword [ebp - 0xb20], xmm0
movaps xmm0, xmmword [ebp - 0xb20]
movaps xmmword [ebp - 0x5b0], xmm0
lea ecx, [ebp - 0x5c0]
mov dword [ebp - 0x6c4], ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0x6c4]
push edx
lea ecx, [ebp - 0x3b8]
call fcn.100b0440
mov dword [ebp - 0x6c8], eax
mov eax, dword [ebp - 0x6c8]
add eax, 1
push eax
push 0
lea ecx, [ebp - 0xe90]
push ecx
lea ecx, [ebp - 0x3b8]
call fcn.100b0530
mov dword [ebp - 0x6cc], eax
mov edx, dword [ebp - 0x6cc]
push edx
lea ecx, [ebp - 0x3b8]
call fcn.1000d590
lea ecx, [ebp - 0xe90]
call fcn.1000d0d0
xor eax, eax
mov byte [ebp - 0x41d], al
xor ecx, ecx
mov byte [ebp - 0x41e], cl
xor edx, edx
mov byte [ebp - 0x41f], dl
mov al, byte [ebp - 0x41d]
mov byte [ebp - 0x4f8], al
mov cl, byte [ebp - 0x41e]
mov byte [ebp - 0x4f4], cl
mov dl, byte [ebp - 0x41f]
mov byte [ebp - 0x4f0], dl
mov eax, 0x4470b060
mov dword [ebp - 0x5e0], 0xcc7dcb61
mov dword [ebp - 0x5dc], eax
mov ecx, 0xea624fe8
mov dword [ebp - 0x5d8], 0xb7c1a8e6
mov dword [ebp - 0x5d4], ecx
mov edx, 0x6a48c415
mov dword [ebp - 0x330], 0xbc13a205
mov dword [ebp - 0x32c], edx
mov eax, 0xea624fe8
mov dword [ebp - 0x328], 0xb7adc482
mov dword [ebp - 0x324], eax
xor ecx, ecx
je 0x100af4c5
jmp 0x100af505
movaps xmm0, xmmword [ebp - 0x330]
movaps xmmword [ebp - 0xb40], xmm0
movaps xmm0, xmmword [ebp - 0x5e0]
movaps xmmword [ebp - 0xb30], xmm0
movaps xmm0, xmmword [ebp - 0xb30]
pxor xmm0, xmmword [ebp - 0xb40]
movaps xmmword [ebp - 0xb50], xmm0
movaps xmm0, xmmword [ebp - 0xb50]
movaps xmmword [ebp - 0x5e0], xmm0
mov edx, 1
test edx, edx
je 0x100af510
jmp 0x100af550
movaps xmm0, xmmword [ebp - 0x320]
movaps xmmword [ebp - 0xb70], xmm0
movaps xmm0, xmmword [ebp - 0x5d0]
movaps xmmword [ebp - 0xb60], xmm0
movaps xmm0, xmmword [ebp - 0xb60]
pxor xmm0, xmmword [ebp - 0xb70]
movaps xmmword [ebp - 0xb80], xmm0
movaps xmm0, xmmword [ebp - 0xb80]
movaps xmmword [ebp - 0x5d0], xmm0
lea eax, [ebp - 0x5e0]
mov dword [ebp - 0x6d0], eax
mov ecx, dword [ebp - 0x6d0]
push ecx
lea ecx, [ebp - 0x3b8]
call fcn.10046e60
lea ecx, [ebp - 0x3b8]
call fcn.1002a3a0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x100b03fc
mov dword [ebp - 0x390], 0x539
mov edx, dword [ebp - 0x390]
xor edx, 0x78f461
mov dword [ebp - 0x390], edx
mov eax, 0x78f461
movd xmm0, eax
movaps xmmword [ebp - 0xb90], xmm0
movaps xmm0, xmmword [ebp - 0xb90]
movaps xmmword [ebp - 0xbc0], xmm0
mov ecx, dword [ebp - 0x390]
movd xmm0, ecx
movaps xmmword [ebp - 0xe60], xmm0
movaps xmm0, xmmword [ebp - 0xe60]
movaps xmmword [ebp - 0xbb0], xmm0
movaps xmm0, xmmword [ebp - 0xbb0]
pxor xmm0, xmmword [ebp - 0xbc0]
movaps xmmword [ebp - 0xbd0], xmm0
movaps xmm0, xmmword [ebp - 0xbd0]
movaps xmmword [ebp - 0xbe0], xmm0
movaps xmm0, xmmword [ebp - 0xbe0]
movd edx, xmm0
push edx
mov ecx, 0x103e8c58
call fcn.100ab850
xor eax, eax
mov byte [ebp - 0x420], al
xor ecx, ecx
mov byte [ebp - 0x421], cl
xor edx, edx
mov byte [ebp - 0x422], dl
mov al, byte [ebp - 0x420]
mov byte [ebp - 0x4ec], al
mov cl, byte [ebp - 0x421]
mov byte [ebp - 0x4d4], cl
mov dl, byte [ebp - 0x422]
mov byte [ebp - 0x4cc], dl
mov eax, 0x99ed21b1
mov dword [ebp - 0x660], 0x72a1d6ad
mov dword [ebp - 0x65c], eax
mov ecx, 0xda78541
mov dword [ebp - 0x658], 0x54137d25
mov dword [ebp - 0x654], ecx
mov edx, 0xb6c0d586
mov dword [ebp - 0x650], 0xeb8d39c4
mov dword [ebp - 0x64c], edx
mov eax, 0xefdb4112
mov dword [ebp - 0x648], 0x57baf63c
mov dword [ebp - 0x644], eax
mov ecx, 0x751940f9
mov dword [ebp - 0x640], 0x2135bdb9
mov dword [ebp - 0x63c], ecx
mov edx, 0x153da8c
mov dword [ebp - 0x638], 0x47877d26
mov dword [ebp - 0x634], edx
mov eax, 0x6a48c415
mov dword [ebp - 0x270], 0xbc13a205
mov dword [ebp - 0x26c], eax
mov ecx, 0xea624fe8
mov dword [ebp - 0x268], 0xb7adc482
mov dword [ebp - 0x264], ecx
mov edx, 0xff610437
mov dword [ebp - 0x260], 0x4928eb07
mov dword [ebp - 0x25c], edx
mov eax, 0xdfeb7122
mov dword [ebp - 0x258], 0x67c2c614
mov dword [ebp - 0x254], eax
mov ecx, 0x751940f9
mov dword [ebp - 0x250], 0x80cfe89
mov dword [ebp - 0x24c], ecx
mov edx, 0x153da8c
mov dword [ebp - 0x248], 0x47877d26
mov dword [ebp - 0x244], edx
xor eax, eax
je 0x100af75a
jmp 0x100af79a
movaps xmm0, xmmword [ebp - 0x270]
movaps xmmword [ebp - 0xc00], xmm0
movaps xmm0, xmmword [ebp - 0x660]
movaps xmmword [ebp - 0xbf0], xmm0
movaps xmm0, xmmword [ebp - 0xbf0]
pxor xmm0, xmmword [ebp - 0xc00]
movaps xmmword [ebp - 0xc10], xmm0
movaps xmm0, xmmword [ebp - 0xc10]
movaps xmmword [ebp - 0x660], xmm0
xor ecx, ecx
je 0x100af7a0
jmp 0x100af7e0
movaps xmm0, xmmword [ebp - 0x260]
movaps xmmword [ebp - 0xc30], xmm0
movaps xmm0, xmmword [ebp - 0x650]
movaps xmmword [ebp - 0xc20], xmm0
movaps xmm0, xmmword [ebp - 0xc20]
pxor xmm0, xmmword [ebp - 0xc30]
movaps xmmword [ebp - 0xc40], xmm0
movaps xmm0, xmmword [ebp - 0xc40]
movaps xmmword [ebp - 0x650], xmm0
xor edx, edx
je 0x100af7e6
jmp 0x100af826
movaps xmm0, xmmword [ebp - 0x250]
movaps xmmword [ebp - 0xc60], xmm0
movaps xmm0, xmmword [ebp - 0x640]
movaps xmmword [ebp - 0xc50], xmm0
movaps xmm0, xmmword [ebp - 0xc50]
pxor xmm0, xmmword [ebp - 0xc60]
movaps xmmword [ebp - 0xc70], xmm0
movaps xmm0, xmmword [ebp - 0xc70]
movaps xmmword [ebp - 0x640], xmm0
mov eax, 1
test eax, eax
je 0x100af831
jmp 0x100af871
movaps xmm0, xmmword [ebp - 0x240]
movaps xmmword [ebp - 0xc90], xmm0
movaps xmm0, xmmword [ebp - 0x630]
movaps xmmword [ebp - 0xc80], xmm0
movaps xmm0, xmmword [ebp - 0xc80]
pxor xmm0, xmmword [ebp - 0xc90]
movaps xmmword [ebp - 0xca0], xmm0
movaps xmm0, xmmword [ebp - 0xca0]
movaps xmmword [ebp - 0x630], xmm0
mov ecx, 1
test ecx, ecx
je 0x100af87c
jmp 0x100af8bc
movaps xmm0, xmmword [ebp - 0x230]
movaps xmmword [ebp - 0xcc0], xmm0
movaps xmm0, xmmword [ebp - 0x620]
movaps xmmword [ebp - 0xcb0], xmm0
movaps xmm0, xmmword [ebp - 0xcb0]
pxor xmm0, xmmword [ebp - 0xcc0]
movaps xmmword [ebp - 0xcd0], xmm0
movaps xmm0, xmmword [ebp - 0xcd0]
movaps xmmword [ebp - 0x620], xmm0
mov edx, 1
test edx, edx
je 0x100af8c7
jmp 0x100af907
movaps xmm0, xmmword [ebp - 0x220]
movaps xmmword [ebp - 0xcf0], xmm0
movaps xmm0, xmmword [ebp - 0x610]
movaps xmmword [ebp - 0xdb0], xmm0
movaps xmm0, xmmword [ebp - 0xdb0]
pxor xmm0, xmmword [ebp - 0xcf0]
movaps xmmword [ebp - 0xd00], xmm0
movaps xmm0, xmmword [ebp - 0xd00]
movaps xmmword [ebp - 0x610], xmm0
lea eax, [ebp - 0x660]
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp - 0x6d4]
push ecx
mov ecx, 0x103df448
call fcn.1002d5c0
mov dword [ebp - 0x738], 0
mov edx, dword fs:[0x30]
mov dword [ebp - 0x6d8], edx
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x6dc], ecx
mov edx, dword [ebp - 0x6dc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x6e0], eax
mov ecx, dword [ebp - 0x6e0]
mov dword [ebp - 0x3e4], ecx
mov edx, dword [ebp - 0x3e4]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x468], eax
mov ecx, dword [ebp - 0x468]
mov dword [ebp - 0x378], ecx
mov edx, dword [ebp - 0x468]
mov eax, dword [ebp - 0x468]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x6e4], eax
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x6e4]
mov ecx, dword [eax + edx + 0x78]
mov edx, dword [eax + edx + 0x7c]
mov dword [ebp - 0x7c8], ecx
mov dword [ebp - 0x7c4], edx
mov eax, dword [ebp - 0x468]
add eax, dword [ebp - 0x7c8]
mov dword [ebp - 0x374], eax
mov ecx, dword [ebp - 0x7c4]
mov dword [ebp - 0x370], ecx
mov edx, dword [ebp - 0x374]
cmp edx, dword [ebp - 0x378]
je 0x100af9ef
mov dword [ebp - 0x550], 1
jmp 0x100af9f9
mov dword [ebp - 0x550], 0
mov al, byte [ebp - 0x550]
mov byte [ebp - 0x423], al
movzx ecx, byte [ebp - 0x423]
test ecx, ecx
je 0x100afb51
mov edx, dword [ebp - 0x374]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x450]
mov dword [ebp - 0x6e8], ecx
mov edx, dword [ebp - 0x450]
sub edx, 1
mov dword [ebp - 0x450], edx
cmp dword [ebp - 0x6e8], 0
je 0x100afb51
mov eax, dword [ebp - 0x374]
mov ecx, dword [ebp - 0x378]
add ecx, dword [eax + 0x20]
mov edx, dword [ebp - 0x378]
mov eax, dword [ebp - 0x450]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x6ec], edx
mov ecx, dword [ebp - 0x6ec]
mov dword [ebp - 0x4a8], ecx
mov dword [ebp - 0x4ac], 0x811c9dc5
mov edx, dword [ebp - 0x4a8]
mov al, byte [edx]
mov byte [ebp - 0x424], al
mov ecx, dword [ebp - 0x4a8]
add ecx, 1
mov dword [ebp - 0x4a8], ecx
mov dl, byte [ebp - 0x424]
mov byte [ebp - 0x3eb], dl
movsx eax, byte [ebp - 0x3eb]
test eax, eax
jne 0x100afac7
mov ecx, dword [ebp - 0x4ac]
mov dword [ebp - 0x6f0], ecx
jmp 0x100afae3
movsx eax, byte [ebp - 0x3eb]
xor eax, dword [ebp - 0x4ac]
mov edx, 0x1000193
mul edx
mov dword [ebp - 0x4ac], eax
jmp 0x100afa85
cmp dword [ebp - 0x6f0], 0x6dd8a845
jne 0x100afb4c
mov eax, dword [ebp - 0x374]
mov ecx, dword [ebp - 0x378]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x374]
mov eax, dword [ebp - 0x378]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x6f4], eax
mov ecx, dword [ebp - 0x450]
mov edx, dword [ebp - 0x6f4]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x378]
mov edx, dword [ebp - 0x6f8]
add ecx, dword [edx + eax*4]
mov dword [ebp - 0x6fc], ecx
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x554], eax
jmp 0x100afb97
jmp 0x100afa23
mov ecx, dword [ebp - 0x3e4]
mov dword [ebp - 0x700], ecx
mov edx, dword [ebp - 0x700]
mov eax, dword [edx]
mov dword [ebp - 0x704], eax
mov ecx, dword [ebp - 0x704]
mov dword [ebp - 0x3e4], ecx
mov byte [ebp - 0x425], 1
movzx edx, byte [ebp - 0x425]
test edx, edx
jne 0x100af965
mov dword [ebp - 0x554], 0
call dword [ebp - 0x554]
mov dword [ebp - 0x73c], eax
mov eax, dword [ebp - 0x850]
mov dword [ebp - 0x4b8], eax
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x708]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x70c], eax
mov ecx, dword [ebp - 0x70c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x710], edx
mov eax, dword [ebp - 0x710]
mov dword [ebp - 0x3dc], eax
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x46c]
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x46c]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x714], edx
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x714]
mov eax, dword [edx + ecx + 0x78]
mov ecx, dword [edx + ecx + 0x7c]
mov dword [ebp - 0x7d0], eax
mov dword [ebp - 0x7cc], ecx
mov edx, dword [ebp - 0x46c]
add edx, dword [ebp - 0x7d0]
mov dword [ebp - 0x368], edx
mov eax, dword [ebp - 0x7cc]
mov dword [ebp - 0x364], eax
mov ecx, dword [ebp - 0x368]
cmp ecx, dword [ebp - 0x36c]
je 0x100afc70
mov dword [ebp - 0x528], 1
jmp 0x100afc7a
mov dword [ebp - 0x528], 0
mov dl, byte [ebp - 0x528]
mov byte [ebp - 0x426], dl
movzx eax, byte [ebp - 0x426]
test eax, eax
je 0x100afdd2
mov ecx, dword [ebp - 0x368]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0x454]
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x454]
sub ecx, 1
mov dword [ebp - 0x454], ecx
cmp dword [ebp - 0x718], 0
je 0x100afdd2
mov edx, dword [ebp - 0x368]
mov eax, dword [ebp - 0x36c]
add eax, dword [edx + 0x20]
mov ecx, dword [ebp - 0x36c]
mov edx, dword [ebp - 0x454]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x71c], ecx
mov eax, dword [ebp - 0x71c]
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 0x4b4], 0x811c9dc5
mov ecx, dword [ebp - 0x4b0]
mov dl, byte [ecx]
mov byte [ebp - 0x427], dl
mov eax, dword [ebp - 0x4b0]
add eax, 1
mov dword [ebp - 0x4b0], eax
mov cl, byte [ebp - 0x427]
mov byte [ebp - 0x3ec], cl
movsx edx, byte [ebp - 0x3ec]
test edx, edx
jne 0x100afd48
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x720], eax
jmp 0x100afd64
movsx eax, byte [ebp - 0x3ec]
xor eax, dword [ebp - 0x4b4]
mov ecx, 0x1000193
mul ecx
mov dword [ebp - 0x4b4], eax
jmp 0x100afd06
cmp dword [ebp - 0x720], 0xf84eee59
jne 0x100afdcd
mov edx, dword [ebp - 0x368]
mov eax, dword [ebp - 0x36c]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x368]
mov edx, dword [ebp - 0x36c]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x724], edx
mov eax, dword [ebp - 0x454]
mov ecx, dword [ebp - 0x724]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x36c]
mov ecx, dword [ebp - 0x728]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x72c], eax
mov edx, dword [ebp - 0x72c]
mov dword [ebp - 0x4b8], edx
jmp 0x100afe18
jmp 0x100afca4
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0x730]
mov edx, dword [ecx]
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
mov dword [ebp - 0x3dc], eax
mov byte [ebp - 0x428], 1
movzx ecx, byte [ebp - 0x428]
test ecx, ecx
jne 0x100afbe6
mov dword [ebp - 0x4b8], 0
lea edx, [ebp - 0x738]
push edx
call fcn.10005a00
add esp, 4
mov eax, dword [eax]
mov dword [ebp - 0x740], eax
lea ecx, [ebp - 0x73c]
push ecx
call fcn.10005a00
add esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x744], edx
mov eax, dword [ebp - 0x740]
push eax
mov ecx, dword [ebp - 0x744]
push ecx
call dword [ebp - 0x4b8]
xor ebp, ebp
xor esp, esp
cpuid
test ebx, 0x7414
jmp edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3b8]
call fcn.1000d0d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3d0]
call fcn.1000d0d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100b684e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4