Function at 0x41fe40
Capabilities:
Create directory
Get common file path

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xffffffe0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54b61b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x448
push esi
push edi
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x440]
push 0x104
push 0
push eax
call fcn.005256f0
add esp, 0xc
lea eax, [ebp - 0x440]
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov dword [ebp - 0x30], 0x2131bd53
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0x490874f8
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x30], 0xdb203355
mov dword [ebp - 0x2c], 0xbe0adf4a
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x30], 0x5544fc0f
mov dword [ebp - 0x2c], 0xd280d90
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], 0xaf4b4030
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], ecx
mov dword [ebp - 0x2c], 0xbe0aaf25
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
movaps xmm1, xmmword [ebp - 0x80]
mov dword [ebp - 0x244], ecx
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x248], eax
lea edx, [ecx + 1]
pxor xmm1, xmmword [ebp - 0x250]
movaps xmmword [ebp - 0x80], xmm1
movups xmmword [ebp - 0x158], xmm0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ff58
sub ecx, edx
lea eax, [ebp - 0x80]
push ecx
push eax
lea ecx, [ebp - 0x158]
call fcn.004100e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x440]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ff80
sub ecx, edx
lea eax, [ebp - 0x440]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x158]
call fcn.004ba210
mov dword [ebp - 0x44], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x40], 0
mov esi, 1
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x54], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x44], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x144]
cmp ecx, 0x10
jb 0x42001a
mov edx, dword [ebp - 0x158]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420010
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420ef7
push ecx
push edx
call fcn.0050d4b1
add esp, 8
cmp dword [ebp - 0x40], 0x10
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x148], 0
cmovae ecx, dword [ebp - 0x54]
mov dword [ebp - 0x144], 0xf
mov byte [ebp - 0x158], 0
call fcn.0041a270
test al, al
je 0x420e89
mov dword [ebp - 0x30], 0x2131bd53
mov dword [ebp - 0x2c], 0xd2874f8
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x30], 0xaf4b4030
mov dword [ebp - 0x2c], 0xbe0aaf25
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x30], 0x5544fc0f
mov dword [ebp - 0x2c], 0xd280d90
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], 0xaf4b4030
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x2c], 0xbe0aaf25
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x25c], ecx
mov ecx, dword [ebp - 0x2c]
movaps xmm1, xmmword [ebp - 0x90]
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], ecx
pxor xmm1, xmmword [ebp - 0x260]
movaps xmmword [ebp - 0x90], xmm1
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x90]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4200f0
mov edi, closesocket
sub ecx, edx
mov edx, dword [ebx + 0x18]
mov eax, edi
sub eax, edx
cmp eax, ecx
jb 0x420efc
cmp dword [ebx + 0x1c], 0x10
lea eax, [ebx + 8]
push ecx
cmovae eax, dword [ebx + 8]
lea ecx, [ebp - 0x90]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x6c]
call fcn.004b92d0
mov esi, 3
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x58], 0x10
cmovae ecx, dword [ebp - 0x6c]
call fcn.0041a270
test al, al
jne 0x420166
cmp dword [ebp - 0x58], 0x10
lea eax, [ebp - 0x6c]
push 0
cmovae eax, dword [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x420e77
mov dword [ebp - 0x30], 0x312ab553
mov dword [ebp - 0x2c], 0x694d75f5
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x30], 0xaf4b0274
mov dword [ebp - 0x2c], 0xbe0aaf25
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x30], 0x5544fc0f
mov dword [ebp - 0x2c], 0xd280d90
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], 0xaf4b4030
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x2c], 0xbe0aaf25
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1ec], ecx
mov ecx, dword [ebp - 0x2c]
movaps xmm1, xmmword [ebp - 0xa0]
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e4], ecx
pxor xmm1, xmmword [ebp - 0x1f0]
movaps xmmword [ebp - 0xa0], xmm1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xa0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420210
sub ecx, edx
mov eax, edi
mov edx, dword [ebp - 0x44]
sub eax, edx
cmp eax, ecx
jb 0x420f01
cmp dword [ebp - 0x40], 0x10
lea eax, [ebp - 0x54]
push ecx
cmovae eax, dword [ebp - 0x54]
lea ecx, [ebp - 0xa0]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x338]
call fcn.004b92d0
cmp dword [ebp - 0x324], 0x10
lea ecx, [ebp - 0x338]
mov dword [ebp - 0x34], 0xb
cmovae ecx, dword [ebp - 0x338]
call fcn.0041a270
mov ecx, 0xb
mov byte [ebp - 0x35], al
mov dword [ebp - 0x34], ecx
and ecx, 0xfffffff7
mov dword [ebp - 0x34], ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x338]
call fcn.0040fe60
cmp byte [ebp - 0x35], 0
je 0x42052b
mov dword [ebp - 0x30], 0x312ab553
mov dword [ebp - 0x2c], 0x694d75f5
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x30], 0xaf4b0274
mov dword [ebp - 0x2c], 0xbe0aaf25
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x30], 0x5544fc0f
mov dword [ebp - 0x2c], 0xd280d90
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], 0xaf4b4030
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x2c], 0xbe0aaf25
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1fc], ecx
mov ecx, dword [ebp - 0x2c]
movaps xmm1, xmmword [ebp - 0xb0]
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], ecx
pxor xmm1, xmmword [ebp - 0x200]
movaps xmmword [ebp - 0xb0], xmm1
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420340
sub ecx, edx
mov eax, edi
mov edx, dword [ebp - 0x5c]
sub eax, edx
cmp eax, ecx
jb 0x420f06
cmp dword [ebp - 0x58], 0x10
lea eax, [ebp - 0x6c]
push ecx
cmovae eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0xb0]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x3c]
lea ecx, [ebp - 0xe8]
call fcn.004b92d0
or dword [ebp - 0x34], 0x20
lea ecx, [ebp - 0xe8]
cmp dword [ebp - 0xd4], 0x10
cmovae ecx, dword [ebp - 0xe8]
call fcn.0041a270
test al, al
jne 0x4203c2
cmp dword [ebp - 0xd4], 0x10
lea eax, [ebp - 0xe8]
push 0
cmovae eax, dword [ebp - 0xe8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x420518
sub esp, 0x18
lea eax, [ebp - 0xe8]
mov ecx, esp
mov dword [ebp - 0x70], esp
push eax
call fcn.004b0ec0
mov byte [ebp - 4], 7
sub esp, 0x18
mov dword [ebp - 0x28], 0x312ab553
lea edx, [ebp - 0x54]
mov dword [ebp - 0x24], 0x694d75f5
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x28], 0xaf4b0274
mov dword [ebp - 0x24], 0xbe0aaf25
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x28], 0x5544fc0f
mov dword [ebp - 0x24], 0xd280d90
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x28], 0xaf4b4030
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x24], 0xbe0aaf25
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0x130]
mov dword [ebp - 0x208], eax
lea eax, [ebp - 0x130]
mov dword [ebp - 0x204], ecx
mov ecx, esp
pxor xmm1, xmmword [ebp - 0x210]
mov dword [ebp - 0x2c], esp
push eax
movaps xmmword [ebp - 0x130], xmm1
call fcn.004b5250
add esp, 4
mov byte [ebp - 4], 8
mov byte [ebp - 4], 6
xor cl, cl
call fcn.0041f770
add esp, 0x30
test eax, eax
jne 0x4204a8
mov eax, dword [ebp - 0x3c]
mov byte [eax], 1
jmp 0x420518
cmp dword [ebp - 0xd4], 0x10
lea edx, [ebp - 0xe8]
xorps xmm0, xmm0
mov dword [ebp - 0x2c8], 0
cmovae edx, dword [ebp - 0xe8]
mov ecx, edx
mov dword [ebp - 0x2c4], 0
movups xmmword [ebp - 0x2d8], xmm0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4204e0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x2d8]
call fcn.004100e0
mov byte [ebp - 4], 9
push ecx
lea ecx, [ebp - 0x2d8]
call fcn.0041a2c0
add esp, 4
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2d8]
call fcn.0040fe60
and dword [ebp - 0x34], 0xffffffdf
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xe8]
call fcn.0040fe60
mov dword [ebp - 0x28], 0x362bb053
mov dword [ebp - 0x24], 0x5e0861f1
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x28], 0xce392f44
mov dword [ebp - 0x24], 0xbe0aca42
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0x28], 0x5544fc0f
mov dword [ebp - 0x24], 0xd280d90
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], 0xaf4b4030
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x24], 0xbe0aaf25
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x21c], ecx
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0xc0]
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], ecx
pxor xmm1, xmmword [ebp - 0x220]
movaps xmmword [ebp - 0xc0], xmm1
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xc0]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4205d0
sub ecx, edx
mov eax, edi
mov edx, dword [ebp - 0x44]
sub eax, edx
cmp eax, ecx
jb 0x420f0b
cmp dword [ebp - 0x40], 0x10
lea eax, [ebp - 0x54]
push ecx
cmovae eax, dword [ebp - 0x54]
lea ecx, [ebp - 0xc0]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x308]
call fcn.004b92d0
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0x308]
or esi, 0x10
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x2f4], 0x10
cmovae ecx, dword [ebp - 0x308]
call fcn.0041a270
and esi, 0xffffffef
mov byte [ebp - 0x35], al
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x308]
call fcn.0040fe60
cmp byte [ebp - 0x35], 0
je 0x420930
mov dword [ebp - 0x28], 0x362bb053
mov dword [ebp - 0x24], 0x5e0861f1
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0x28], 0xce392f44
mov dword [ebp - 0x24], 0xbe0aca42
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0x28], 0x5544fc0f
mov dword [ebp - 0x24], 0xd280d90
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], 0xaf4b4030
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x24], 0xbe0aaf25
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x22c], ecx
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0xd0]
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], ecx
pxor xmm1, xmmword [ebp - 0x230]
movaps xmmword [ebp - 0xd0], xmm1
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xd0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4206f3
sub ecx, edx
mov eax, edi
mov edx, dword [ebp - 0x5c]
sub eax, edx
cmp eax, ecx
jb 0x420f10
cmp dword [ebp - 0x58], 0x10
lea eax, [ebp - 0x6c]
push ecx
cmovae eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0xd0]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x100]
call fcn.004b92d0
or dword [ebp - 0x34], 0x80
lea ecx, [ebp - 0x100]
cmp dword [ebp - 0xec], 0x10
cmovae ecx, dword [ebp - 0x100]
call fcn.0041a270
test al, al
jne 0x420778
cmp dword [ebp - 0xec], 0x10
lea eax, [ebp - 0x100]
push 0
cmovae eax, dword [ebp - 0x100]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x42091a
sub esp, 0x18
lea eax, [ebp - 0x100]
mov ecx, esp
mov dword [ebp - 0x2c], esp
push eax
call fcn.004b0ec0
mov byte [ebp - 4], 0xc
sub esp, 0x18
mov dword [ebp - 0x28], 0x362bb053
lea edx, [ebp - 0x54]
mov dword [ebp - 0x24], 0x5e0861f1
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x28], 0xce392f44
mov dword [ebp - 0x24], 0xbe0aca42
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x28], 0x5544fc0f
mov dword [ebp - 0x24], 0xd280d90
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x28], 0xaf4b4030
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x24], 0xbe0aaf25
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0x140]
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0x234], ecx
mov ecx, esp
pxor xmm1, xmmword [ebp - 0x240]
mov dword [ebp - 0x70], esp
push eax
movaps xmmword [ebp - 0x140], xmm1
call fcn.004b5250
add esp, 4
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 0xb
xor cl, cl
call fcn.0041f770
add esp, 0x30
test eax, eax
jne 0x420861
mov eax, dword [ebp - 0x3c]
mov byte [eax], 1
jmp 0x42091a
cmp dword [ebp - 0xec], 0x10
lea edx, [ebp - 0x100]
xorps xmm0, xmm0
mov dword [ebp - 0x160], 0
cmovae edx, dword [ebp - 0x100]
mov ecx, edx
mov dword [ebp - 0x15c], 0
movups xmmword [ebp - 0x170], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420898
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x170]
call fcn.004100e0
mov byte [ebp - 4], 0xe
push ecx
lea ecx, [ebp - 0x170]
call fcn.0041a2c0
add esp, 4
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x15c]
cmp ecx, 0x10
jb 0x4208ff
mov edx, dword [ebp - 0x170]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4208f5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420f15
push ecx
push edx
call fcn.0050d4b1
add esp, 8
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
and dword [ebp - 0x34], 0xffffff7f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x100]
call fcn.0040fe60
mov dword [ebp - 0x28], 0x2621af53
mov dword [ebp - 0x24], 0x634764e3
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x28], 0xc03f1310
mov dword [ebp - 0x24], 0xdb6dce57
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x28], 0x21a86d91
mov dword [ebp - 0x24], 0x97b66a6a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x28], 0x5daaa48a
mov dword [ebp - 0x24], 0xeb786327
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x28], 0x5544fc0f
mov dword [ebp - 0x24], 0xd280d90
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x28], 0xaf4b4030
mov dword [ebp - 0x24], 0xbe0aaf25
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x28], 0x21a86d91
mov dword [ebp - 0x24], 0x97b66a6a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], ecx
mov dword [ebp - 0x28], 0x5daaa48a
mov dword [ebp - 0x24], 0xeb786327
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
vmovdqu ymm0, ymmword [ebp - 0x1a0]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], ecx
vpxor ymm0, ymm0, ymmword [ebp - 0x280]
vmovdqa ymmword [ebp - 0x1a0], ymm0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1a0]
lea edx, [ecx + 1]
vzeroupper
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420a58
sub ecx, edx
mov eax, edi
mov edx, dword [ebp - 0x44]
sub eax, edx
cmp eax, ecx
jb 0x420f1a
cmp dword [ebp - 0x40], 0x10
lea eax, [ebp - 0x54]
push ecx
cmovae eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x1a0]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x320]
call fcn.004b92d0
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0x320]
or esi, 4
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x30c], 0x10
cmovae ecx, dword [ebp - 0x320]
call fcn.0041a270
and esi, 0xfffffffb
mov byte [ebp - 0x35], al
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x320]
call fcn.0040fe60
cmp byte [ebp - 0x35], 0
je 0x420e77
mov dword [ebp - 0x28], 0x2621af53
mov dword [ebp - 0x24], 0x634764e3
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x28], 0xc03f1310
mov dword [ebp - 0x24], 0xdb6dce57
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x28], 0x21a86d91
mov dword [ebp - 0x24], 0x97b66a6a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x28], 0x5daaa48a
mov dword [ebp - 0x24], 0xeb786327
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x28], 0x5544fc0f
mov dword [ebp - 0x24], 0xd280d90
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x28], 0xaf4b4030
mov dword [ebp - 0x24], 0xbe0aaf25
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x28], 0x21a86d91
mov dword [ebp - 0x24], 0x97b66a6a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], ecx
mov dword [ebp - 0x28], 0x5daaa48a
mov dword [ebp - 0x24], 0xeb786327
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
vmovdqu ymm0, ymmword [ebp - 0x1c0]
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], ecx
vpxor ymm0, ymm0, ymmword [ebp - 0x2a0]
vmovdqa ymmword [ebp - 0x1c0], ymm0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1c0]
lea edx, [ecx + 1]
vzeroupper
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420c00
sub ecx, edx
mov edx, dword [ebp - 0x5c]
sub edi, edx
cmp edi, ecx
jb 0x420f1f
cmp dword [ebp - 0x58], 0x10
lea eax, [ebp - 0x6c]
push ecx
cmovae eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x1c0]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x118]
call fcn.004b92d0
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0x118]
or esi, 0x40
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x104], 0x10
cmovae ecx, dword [ebp - 0x118]
call fcn.0041a270
test al, al
jne 0x420c85
cmp dword [ebp - 0x104], 0x10
lea eax, [ebp - 0x118]
push 0
cmovae eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x420e62
sub esp, 0x18
lea eax, [ebp - 0x118]
mov ecx, esp
mov dword [ebp - 0x2c], esp
push eax
call fcn.004b0ec0
mov byte [ebp - 4], 0x11
sub esp, 0x18
mov dword [ebp - 0x28], 0x2621af53
lea edx, [ebp - 0x54]
mov dword [ebp - 0x24], 0x634764e3
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x28], 0xc03f1310
mov dword [ebp - 0x24], 0xdb6dce57
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], ecx
mov dword [ebp - 0x28], 0x21a86d91
mov dword [ebp - 0x24], 0x97b66a6a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], ecx
mov dword [ebp - 0x28], 0x5daaa48a
mov dword [ebp - 0x24], 0xeb786327
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1c4], ecx
mov dword [ebp - 0x28], 0x5544fc0f
mov dword [ebp - 0x24], 0xd280d90
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x28], 0xaf4b4030
mov dword [ebp - 0x24], 0xbe0aaf25
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], ecx
mov dword [ebp - 0x28], 0x21a86d91
mov dword [ebp - 0x24], 0x97b66a6a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x28], 0x5daaa48a
mov dword [ebp - 0x24], 0xeb786327
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
vmovdqu ymm0, ymmword [ebp - 0x1e0]
mov dword [ebp - 0x2a8], eax
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x2a4], ecx
mov ecx, esp
vpxor ymm0, ymm0, ymmword [ebp - 0x2c0]
mov dword [ebp - 0x70], esp
vmovdqa ymmword [ebp - 0x1e0], ymm0
push eax
vzeroupper
call fcn.004b5250
add esp, 4
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 0x10
xor cl, cl
call fcn.0041f770
add esp, 0x30
test eax, eax
jne 0x420df0
mov eax, dword [ebp - 0x3c]
mov byte [eax], 1
jmp 0x420e5f
cmp dword [ebp - 0x104], 0x10
lea edx, [ebp - 0x118]
xorps xmm0, xmm0
mov dword [ebp - 0x2e0], 0
cmovae edx, dword [ebp - 0x118]
mov ecx, edx
mov dword [ebp - 0x2dc], 0
movups xmmword [ebp - 0x2f0], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420e27
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x2f0]
call fcn.004100e0
mov byte [ebp - 4], 0x13
push ecx
lea ecx, [ebp - 0x2f0]
call fcn.0041a2c0
add esp, 4
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x2f0]
call fcn.0040fe60
mov esi, dword [ebp - 0x34]
and esi, 0xffffffbf
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x118]
call fcn.0040fe60
and esi, 0xfffffffd
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6c]
call fcn.0040fe60
and esi, 0xfffffffe
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x420ec3
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420eb9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420f24
push ecx
push edx
call fcn.0050d4b1
add esp, 8
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebx + 8]
call fcn.0040fe60
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.005289b0
call fcn.0040f7b0
call fcn.0040f7b0
call fcn.0040f7b0
call fcn.0040f7b0
call fcn.0040f7b0
call fcn.005289b0
call fcn.0040f7b0
call fcn.0040f7b0
call fcn.005289b0
int3