Function at 0x482100
Capabilities:
Contain obfuscated stackstrings
Copy file
Create directory
Create shortcut via ishelllink

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 0x55127b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x6f8
push esi
push edi
mov dword [ebp - 0x6c], edx
mov byte [ebp - 0x21], cl
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 3
mov eax, dword fs:[0x2c]
mov edx, dword [eax]
mov eax, dword [0x586910]
cmp eax, dword [edx + 4]
jg 0x483884
cmp dword [ebx + 0x50], 0xf
lea ecx, [ebx + 0x3c]
cmova ecx, dword [ebx + 0x3c]
call fcn.004e4050
mov byte [ebp - 0x11], al
xor edi, edi
lea eax, [ebx + 0x3c]
mov dword [ebp - 0x2c], edi
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.004134c0
mov ecx, dword [eax]
cmp ecx, dword [0x5868e4]
je 0x4821a6
lea eax, [ebx + 0x3c]
mov ecx, 0x5868e4
push eax
call fcn.00413340
mov edi, dword [eax]
mov dword [ebp - 0x2c], edi
cmp byte [ebp - 0x21], 0
je 0x482558
mov esi, dword [ebx + 8]
cmp dword [esi], 0x1400000
jae 0x483799
sub esp, 0x18
lea eax, [ebx + 0x24]
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call fcn.004163b0
mov byte [ebp - 4], 6
push 0
mov byte [ebp - 4], 3
mov dl, 1
lea ecx, [ebp - 0xbc]
call fcn.004c33b0
add esp, 0x1c
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xbc]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov dword [ebp - 0x18], 0
test eax, eax
je 0x482549
xor edi, edi
mov dword [ebp - 0x1c], edi
nop dword [eax]
cmp dword [esi], 0x1400000
jae 0x482546
sub esp, 0x18
lea eax, [edi + ecx]
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call fcn.004163b0
mov byte [ebp - 4], 8
sub esp, 0xc
lea eax, [ebx + 0xc]
mov dword [ebp - 0x4c], esp
mov ecx, esp
push eax
call fcn.00415350
mov byte [ebp - 4], 9
mov byte [ebp - 4], 7
call fcn.00483ac0
add esp, 0x24
test al, al
jne 0x48251a
cmp byte [ebp - 0x11], al
jne 0x482287
cmp dword [ebx + 0x50], 0xf
lea eax, [ebx + 0x3c]
push 0
cmova eax, dword [ebx + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov byte [ebp - 0x11], 1
mov esi, dword [ebp - 0xbc]
lea edx, [ebx + 0x3c]
mov dword [ebp - 0xf0], 0xa980d4f1
add esi, edi
mov dword [ebp - 0xec], 0xf3c01ed1
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], ecx
mov dword [ebp - 0xe8], 0x61453c76
mov dword [ebp - 0xe4], 0xa0df89f8
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0xa8], 0xa980d4ad
mov dword [ebp - 0xa4], 0xf3c01ed1
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0xf8], 0x61453c76
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0xf4], 0xa0df89f8
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf4]
movaps xmm1, xmmword [ebp - 0x270]
mov dword [ebp - 0x158], eax
lea eax, [ebp - 0x270]
mov dword [ebp - 0x154], ecx
lea ecx, [ebp - 0x3a0]
xorps xmm1, xmmword [ebp - 0x160]
push eax
movaps xmmword [ebp - 0x270], xmm1
call fcn.0041ab20
add esp, 4
mov byte [ebp - 4], 0xa
mov edx, eax
push esi
lea ecx, [ebp - 0x328]
call fcn.0041ad80
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x3a0]
call fcn.00402df0
cmp dword [ebp - 0x314], 0xf
lea eax, [ebp - 0x328]
push 0
cmova eax, dword [ebp - 0x328]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
add edi, dword [ebp - 0xbc]
mov dword [ebp - 0x78], 0xa980d4f1
mov dword [ebp - 0x74], 0xf3c01ed1
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x88], 0x61453c76
mov dword [ebp - 0x84], 0xa0df89f8
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x90], 0xa980d4ad
mov dword [ebp - 0x8c], 0xf3c01ed1
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x98], 0x61453c76
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x94], 0xa0df89f8
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x14c], ecx
mov ecx, dword [ebp - 0x94]
movaps xmm1, xmmword [ebp - 0x280]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], ecx
xorps xmm1, xmmword [ebp - 0x150]
movaps xmmword [ebp - 0x280], xmm1
lea eax, [ebp - 0x280]
push eax
lea edx, [ebx + 0x24]
lea ecx, [ebp - 0x3b8]
call fcn.0041ab20
mov esi, eax
mov byte [ebp - 4], 0xd
sub esp, 0x14
lea eax, [ebp - 0x328]
mov dword [ebp - 0x20], esp
mov ecx, esp
push eax
call fcn.004163b0
mov byte [ebp - 4], 0xe
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x7c], esp
mov edx, esi
push edi
call fcn.0041ad80
mov byte [ebp - 4], 0xf
sub esp, 8
lea eax, [ebx + 0x18]
mov dword [ebp - 0x1a4], esp
mov ecx, esp
push eax
call fcn.00415350
mov byte [ebp - 4], 0x10
sub esp, 0xc
lea eax, [ebx + 0xc]
mov dword [ebp - 0x70], esp
mov ecx, esp
push eax
call fcn.00415350
mov byte [ebp - 4], 0x11
mov esi, dword [ebx + 8]
push esi
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x6c]
mov cl, byte [ebp - 0x21]
call fcn.00482100
add dword [ebp - 0x2c], eax
add esp, 0x4c
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x3b8]
call fcn.00402df0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x328]
call fcn.00402df0
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb8]
add edi, 0x18
mov ecx, dword [ebp - 0xbc]
sub eax, ecx
mov edx, dword [ebp - 0x18]
sar eax, 3
inc edx
imul eax, eax, 0xaaaaaaab
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], edi
cmp edx, eax
jb 0x482220
mov edi, dword [ebp - 0x2c]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xbc]
call fcn.004185d0
mov esi, dword [ebx + 8]
cmp dword [esi], 0x1400000
jae 0x483799
sub esp, 0x18
lea eax, [ebx + 0x24]
mov ecx, esp
mov dword [ebp - 0x70], esp
push eax
call fcn.004163b0
mov byte [ebp - 4], 0x12
push 0
mov byte [ebp - 4], 3
xor dl, dl
lea ecx, [ebp - 0xc8]
call fcn.004c33b0
add esp, 0x1c
mov byte [ebp - 4], 0x13
xor edx, edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov dword [ebp - 0x7c], edx
test eax, eax
je 0x48378a
nop word [eax + eax]
cmp dword [esi], 0x1400000
jae 0x483787
sub esp, 0x18
lea eax, [edx + edx*2]
shl eax, 3
mov esi, esp
mov dword [ebp - 0x20], eax
xorps xmm0, xmm0
add eax, ecx
mov dword [ebp - 0x70], esp
mov dword [ebp - 0x1c], eax
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [eax + 0x14], 0xf
mov edi, dword [eax + 0x10]
jbe 0x482604
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp edi, 0x7fffffff
ja 0x483904
cmp edi, 0xf
ja 0x482627
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], 0xf
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
jmp 0x482676
mov eax, edi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x48263a
mov eax, closesocket
jmp 0x482645
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x9c]
push eax
push esi
call fcn.004032d0
mov ecx, dword [ebp - 0x9c]
mov dword [esi + 0x14], ecx
lea ecx, [edi + 1]
push ecx
push dword [ebp - 0x1c]
mov dword [esi], eax
push eax
mov dword [esi + 0x10], edi
call fcn.00435260
add esp, 0x14
mov byte [ebp - 4], 0x14
sub esp, 0xc
mov esi, esp
mov dword [ebp - 0x1a4], esp
mov dword [ebp - 0x1c], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov eax, dword [ebx + 0x10]
sub eax, dword [ebx + 0xc]
sar eax, 3
imul eax, eax, 0xaaaaaaab
test eax, eax
je 0x482779
cmp eax, 0xaaaaaaa
ja 0x4838ff
lea edi, [eax + eax*2]
shl edi, 3
cmp edi, 0x1000
jb 0x4826f5
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x4838fa
push eax
call fcn.00433662
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x483909
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x482706
test edi, edi
je 0x482704
push edi
call fcn.00433662
add esp, 4
jmp 0x482706
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
add eax, edi
mov dword [esi + 8], eax
mov dword [ebp - 0x19c], esi
mov byte [ebp - 4], 0x15
mov esi, dword [esi]
mov ecx, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x28c], esi
mov dword [ebp - 0x284], eax
mov byte [ebp - 4], 0x16
cmp edi, ecx
je 0x48275e
push edi
mov ecx, esi
call fcn.004163b0
add esi, 0x18
add edi, 0x18
mov dword [ebp - 0x288], esi
cmp edi, dword [ebp - 0x18]
jne 0x482742
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28c], esi
mov byte [ebp - 4], 0x15
mov dword [eax + 4], esi
mov dword [ebp - 0x19c], 0
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 0x17
mov byte [ebp - 4], 0x13
call fcn.00483ac0
add esp, 0x24
test al, al
jne 0x48375d
mov eax, dword [ebp - 0xc8]
mov edi, dword [ebp - 0x20]
add eax, edi
mov dword [ebp - 0x98], 0xa980d4f1
mov dword [ebp - 0x94], 0xf3c01ed1
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], ecx
mov dword [ebp - 0x90], 0x61453c76
mov dword [ebp - 0x8c], 0xa0df89f8
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1c4], ecx
mov dword [ebp - 0x88], 0xa980d4ad
mov dword [ebp - 0x84], 0xf3c01ed1
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x78], 0x61453c76
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x74], 0xa0df89f8
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2dc], ecx
mov ecx, dword [ebp - 0x74]
movaps xmm1, xmmword [ebp - 0x1d0]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], ecx
xorps xmm1, xmmword [ebp - 0x2e0]
movaps xmmword [ebp - 0x1d0], xmm1
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1d0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x482865
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebx + 0x4c]
sub eax, edx
cmp eax, ecx
jb 0x483904
cmp dword [ebx + 0x50], 0xf
lea eax, [ebx + 0x3c]
push ecx
cmova eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x1d0]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x70]
lea ecx, [ebp - 0x370]
call fcn.0041e8a0
mov esi, dword [ebp - 0x28]
lea edx, [ebp - 0x370]
or esi, 1
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x28], esi
push dword [ebp - 0x20]
call fcn.0041ad80
add esp, 4
mov byte [ebp - 4], 0x19
and esi, 0xfffffffe
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x370]
call fcn.00402df0
mov eax, dword [ebx + 0x1c]
sub eax, dword [ebx + 0x18]
sar eax, 3
imul eax, eax, 0xaaaaaaab
test eax, eax
je 0x482931
sub esp, 0x18
lea eax, [ebp - 0x64]
mov ecx, esp
mov dword [ebp - 0xf4], esp
push eax
call fcn.004163b0
mov byte [ebp - 4], 0x1b
sub esp, 0xc
lea eax, [ebx + 0x18]
mov dword [ebp - 0xa4], esp
mov ecx, esp
push eax
call fcn.00415350
mov byte [ebp - 4], 0x1c
mov byte [ebp - 4], 0x1a
call fcn.00483910
add esp, 0x24
test al, al
je 0x483713
add edi, dword [ebp - 0xc8]
mov dword [ebp - 0x1b0], 0xa980d4f1
mov dword [ebp - 0x1ac], 0xf3c01ed1
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x1b8], 0x61453c76
mov dword [ebp - 0x1b4], 0xa0df89f8
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], ecx
mov dword [ebp - 0x208], 0xa980d4ad
mov dword [ebp - 0x204], 0xf3c01ed1
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
mov dword [ebp - 0x210], 0x61453c76
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x20c], 0xa0df89f8
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], ecx
movaps xmm1, xmmword [ebp - 0x2f0]
xorps xmm1, xmmword [ebp - 0x1e0]
movaps xmmword [ebp - 0x1e0], xmm1
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x1e0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x482a10
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebx + 0x34]
sub eax, edx
cmp eax, ecx
jb 0x483904
cmp dword [ebx + 0x38], 0xf
lea eax, [ebx + 0x24]
push ecx
cmova eax, dword [ebx + 0x24]
lea ecx, [ebp - 0x1e0]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0xa4]
lea ecx, [ebp - 0x388]
call fcn.0041e8a0
mov esi, dword [ebp - 0x28]
lea edx, [ebp - 0x388]
or esi, 8
lea ecx, [ebp - 0x48]
push edi
mov dword [ebp - 0x28], esi
call fcn.0041ad80
add esp, 4
mov byte [ebp - 4], 0x1e
and esi, 0xfffffff7
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x388]
call fcn.00402df0
sub esp, 0x18
lea eax, [ebp - 0x48]
mov esi, esp
mov dword [ebp - 0xe4], esp
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [ebp - 0x34], 0xf
mov edi, dword [ebp - 0x38]
cmova eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
cmp edi, 0x7fffffff
ja 0x483904
cmp edi, 0xf
ja 0x482ad9
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], 0xf
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
jmp 0x482b28
mov eax, edi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x482aec
mov eax, closesocket
jmp 0x482af7
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xa0]
push eax
push esi
call fcn.004032d0
mov ecx, dword [ebp - 0xa0]
mov dword [esi + 0x14], ecx
lea ecx, [edi + 1]
push ecx
push dword [ebp - 0x20]
mov dword [esi], eax
push eax
mov dword [esi + 0x10], edi
call fcn.00435260
add esp, 0x14
mov byte [ebp - 4], 0x20
mov byte [ebp - 4], 0x1f
call fcn.004e45d0
add esp, 0x18
mov dword [ebp - 0x18], eax
test eax, eax
je 0x483707
cmp eax, dword [ebp - 0x6c]
ja 0x483707
cmp byte [ebp - 0x11], 0
jne 0x482b6a
cmp dword [ebx + 0x50], 0xf
lea eax, [ebx + 0x3c]
push 0
cmova eax, dword [ebx + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov byte [ebp - 0x11], 1
mov dword [ebp - 0x218], 0xc2eeb883
lea esi, [ebp - 0x110]
mov dword [ebp - 0x214], 0xf3c01ed1
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x220], 0x61453c76
mov dword [ebp - 0x21c], 0xa0df89f8
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x228], 0xa980d4ad
mov dword [ebp - 0x224], 0xf3c01ed1
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x168], 0x61453c76
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x164], 0xa0df89f8
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x164]
movaps xmm1, xmmword [ebp - 0x110]
mov dword [ebp - 0x2f4], ecx
lea ecx, [esi + 1]
mov dword [ebp - 0x2f8], eax
xorps xmm1, xmmword [ebp - 0x300]
movaps xmmword [ebp - 0x110], xmm1
mov al, byte [esi]
inc esi
test al, al
jne 0x482c38
mov edx, dword [ebp - 0x34]
lea edi, [ebp - 0x48]
cmp edx, 0xf
cmova edi, dword [ebp - 0x48]
sub esi, ecx
je 0x4836c8
cmp dword [ebp - 0x38], 0
je 0x4836c8
push 0x100
lea eax, [ebp - 0x4b8]
push 0
push eax
call fcn.004359a0
lea ecx, [ebp - 0x110]
add esp, 0xc
mov edx, ecx
mov eax, ecx
add edx, esi
cmp eax, edx
je 0x482c94
movzx eax, byte [ecx]
inc ecx
mov byte [ebp + eax - 0x4b8], 1
cmp ecx, edx
jne 0x482c84
mov eax, dword [ebp - 0x38]
or ecx, 0xffffffff
dec eax
cmp eax, ecx
cmovb ecx, eax
movzx eax, byte [ecx + edi]
add ecx, edi
mov al, byte [ebp + eax - 0x4b8]
test al, al
jne 0x482cc9
cmp ecx, edi
je 0x4836cd
movzx eax, byte [ecx - 1]
dec ecx
mov al, byte [ebp + eax - 0x4b8]
test al, al
je 0x482cb1
sub ecx, edi
cmp ecx, 0xffffffff
je 0x4836cd
xorps xmm0, xmm0
mov dword [ebp - 0x22c], 0
mov esi, 0xf
mov dword [ebp - 0x230], 0
movups xmmword [ebp - 0x240], xmm0
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x230], 0
mov byte [ebp - 0x240], 0
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x294], 1
movups xmmword [ebp - 0x2a4], xmm0
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x290], esi
mov word [ebp - 0x2a4], 0x2f
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x2a4]
cmp dword [ebp - 0x34], esi
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 0x38]
cmova ecx, dword [ebp - 0x48]
push 1
push eax
push 0
call fcn.0041c7e0
add esp, 0xc
cmp eax, 0xffffffff
je 0x482d89
push 0
lea ecx, [ebp - 0x240]
push ecx
push 1
push eax
lea ecx, [ebp - 0x48]
call fcn.00418b00
mov esi, dword [ebp - 0x22c]
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2a4]
call fcn.00402df0
mov byte [ebp - 4], 0x1f
cmp esi, 0xf
jbe 0x482dd2
mov edx, dword [ebp - 0x240]
lea ecx, [esi + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x482dc8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x483909
push ecx
push edx
call fcn.004338e3
add esp, 8
lea edx, [ebp - 0x48]
mov dword [ebp - 0x230], 0
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
call fcn.004d06d0
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x5c0]
push 0x104
push 0
push eax
call fcn.004359a0
add esp, 0xc
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
je 0x482e31
cmp eax, 1
je 0x482e31
cmp eax, 0x80010106
jne 0x482ec7
lea eax, [ebp - 0x68]
push eax
push 0x55a540
push 1
push 0
push 0x55a570
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x482ec1
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0xb0]
push edx
push 0x55a550
push ecx
mov eax, dword [ecx]
call dword [eax]
test eax, eax
js 0x482eb8
mov edx, dword [ebp - 0xb0]
cmp dword [ebp - 0x344], 7
push 0
mov eax, dword [edx]
mov ecx, dword [eax + 0x14]
lea eax, [ebp - 0x358]
cmova eax, dword [ebp - 0x358]
push eax
push edx
call ecx
test eax, eax
js 0x482eac
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0x700]
push 2
push edx
push 0x104
mov eax, dword [ecx]
lea edx, [ebp - 0x5c0]
push edx
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
mov dword [ebp - 0xd0], 0
lea ecx, [ebp - 0x5c0]
mov dword [ebp - 0xcc], 0
movups xmmword [ebp - 0xe0], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x482ef0
sub ecx, edx
lea eax, [ebp - 0x5c0]
push ecx
push eax
lea ecx, [ebp - 0xe0]
call fcn.00403040
or dword [ebp - 0x28], 0x20
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x358]
call fcn.004188d0
mov edi, dword [ebp - 0xd0]
test edi, edi
je 0x483666
cmp dword [ebp - 0xcc], 0xf
lea eax, [ebp - 0xe0]
mov esi, dword [ebp - 0x34]
cmova eax, dword [ebp - 0xe0]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], esi
cmp edi, esi
ja 0x482f70
cmp dword [ebp - 0x20], 0xf
lea esi, [ebp - 0x48]
push edi
cmova esi, dword [ebp - 0x48]
push eax
push esi
mov dword [ebp - 0x38], edi
call fcn.00435260
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x48301e
cmp edi, 0x7fffffff
ja 0x483904
mov ecx, edi
or ecx, 0xf
cmp ecx, 0x7fffffff
jbe 0x482f90
mov ecx, closesocket
jmp 0x482fae
mov edx, esi
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp esi, eax
jbe 0x482fa6
mov ecx, closesocket
jmp 0x482fae
lea eax, [edx + esi]
cmp ecx, eax
cmovb ecx, eax
lea eax, [ebp - 0xac]
mov dword [ebp - 0xac], ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.004032d0
mov ecx, dword [ebp - 0xac]
push edi
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
push eax
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], ecx
call fcn.00435260
mov eax, dword [ebp - 0x1c]
add esp, 0x14
mov byte [eax + edi], 0
cmp esi, 0xf
jbe 0x48301b
mov ecx, dword [ebp - 0x48]
inc esi
mov eax, ecx
cmp esi, 0x1000
jb 0x48300e
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x483909
push esi
push ecx
call fcn.004338e3
mov eax, dword [ebp - 0x1c]
add esp, 8
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0xcc], 0xf
lea eax, [ebp - 0xe0]
cmova eax, dword [ebp - 0xe0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
mov esi, eax
test esi, esi
je 0x48363e
mov edx, esi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x483048
sub edx, ecx
cmp dword [ebp - 0x50], 0xf
push edx
mov edx, dword [ebp - 0x54]
lea ecx, [ebp - 0x64]
cmova ecx, dword [ebp - 0x64]
push esi
push 0
call fcn.0041c7e0
add esp, 0xc
xorps xmm0, xmm0
cmp eax, 0xffffffff
je 0x48337b
movups xmmword [ebp - 0x258], xmm0
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
mov byte [ebp - 4], 0x25
xorps xmm0, xmm0
mov dword [ebp - 0x170], 0xc2eeb883
mov dword [ebp - 0x16c], 0xf3c01ed1
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x178], 0x61453c76
mov dword [ebp - 0x174], 0xa0df89f8
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x180], 0xa980d4ad
mov dword [ebp - 0x17c], 0xf3c01ed1
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x188], 0x61453c76
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x30c], ecx
mov dword [ebp - 0x184], 0xa0df89f8
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x184]
movaps xmm1, xmmword [ebp - 0x1f0]
mov dword [ebp - 0x304], ecx
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 0x308], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x310]
movaps xmmword [ebp - 0x1f0], xmm1
movups xmmword [ebp - 0x128], xmm0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4831a0
sub ecx, edx
lea eax, [ebp - 0x1f0]
push ecx
push eax
lea ecx, [ebp - 0x128]
call fcn.00403040
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x128]
cmp dword [ebp - 0x114], 0xf
lea edx, [ebp - 0x64]
mov edi, dword [ebp - 0x128]
mov esi, dword [ebp - 0x118]
cmova ecx, edi
cmp dword [ebp - 0x50], 0xf
mov eax, dword [ebp - 0x54]
cmova edx, dword [ebp - 0x64]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x30], edx
cmp esi, eax
ja 0x4832c8
sub eax, esi
test esi, esi
jne 0x483208
xor edi, edi
jmp 0x4832b2
movsx ecx, byte [ecx]
inc eax
add eax, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x1c], eax
sub eax, edx
push eax
push ecx
push edx
call fcn.00437190
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4832c5
nop dword [eax + eax]
mov edx, dword [ebp - 0x20]
mov ecx, edi
sub esi, 4
jb 0x483251
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x483256
add ecx, 4
add edx, 4
sub esi, 4
jae 0x483240
cmp esi, 0xfffffffc
je 0x4832a4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x483283
cmp esi, 0xfffffffd
je 0x4832a4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x483283
cmp esi, 0xfffffffe
je 0x4832a4
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x483283
cmp esi, 0xffffffff
je 0x4832a4
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4832a4
mov eax, dword [ebp - 0x1c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x4c]
push edi
call fcn.00437190
mov esi, dword [ebp - 0x118]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x483230
jmp 0x4832c5
sub edi, dword [ebp - 0x30]
cmp edi, 0xffffffff
je 0x4832c5
mov esi, dword [ebp - 0x118]
push 0
lea eax, [ebp - 0x258]
push eax
push esi
push edi
lea ecx, [ebp - 0x64]
call fcn.00418b00
mov edi, dword [ebp - 0x18]
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x114]
cmp eax, 0xf
jbe 0x483302
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x4832f8
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x483909
push ecx
push edi
call fcn.004338e3
add esp, 8
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xf
mov byte [ebp - 0x128], 0
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x244]
cmp ecx, 0xf
jbe 0x48335b
mov edx, dword [ebp - 0x258]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x483351
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x483909
push ecx
push edx
call fcn.004338e3
add esp, 8
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
jmp 0x48363e
mov ecx, esi
mov dword [ebp - 0x2ac], 0
movups xmmword [ebp - 0x2bc], xmm0
mov dword [ebp - 0x2a8], 0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4833a0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x2bc]
call fcn.00403040
mov byte [ebp - 4], 0x27
xorps xmm0, xmm0
mov dword [ebp - 0x190], 0xc2eeb883
mov dword [ebp - 0x18c], 0xf3c01ed1
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x1fc], ecx
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x198], 0x61453c76
mov dword [ebp - 0x194], 0xa0df89f8
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x148], 0xa980d4ad
mov dword [ebp - 0x144], 0xf3c01ed1
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x158], 0x61453c76
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], ecx
mov dword [ebp - 0x154], 0xa0df89f8
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
movaps xmm1, xmmword [ebp - 0x200]
mov dword [ebp - 0x2c4], ecx
lea ecx, [ebp - 0x200]
mov dword [ebp - 0x2c8], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x2d0]
movaps xmmword [ebp - 0x200], xmm1
movups xmmword [ebp - 0x140], xmm0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4834a6
sub ecx, edx
lea eax, [ebp - 0x200]
push ecx
push eax
lea ecx, [ebp - 0x140]
call fcn.00403040
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x140]
cmp dword [ebp - 0x12c], 0xf
lea edx, [ebp - 0x64]
mov edi, dword [ebp - 0x140]
mov esi, dword [ebp - 0x130]
cmova ecx, edi
cmp dword [ebp - 0x50], 0xf
mov eax, dword [ebp - 0x54]
cmova edx, dword [ebp - 0x64]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x1c], edx
cmp esi, eax
ja 0x4835da
sub eax, esi
test esi, esi
jne 0x48350e
xor edi, edi
jmp 0x4835b2
movsx ecx, byte [ecx]
inc eax
add eax, edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x4c], eax
sub eax, edx
push eax
push ecx
push edx
call fcn.00437190
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4835d7
mov ecx, dword [ebp - 0x30]
mov edx, edi
sub esi, 4
jb 0x483551
nop dword [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x483556
add edx, 4
add ecx, 4
sub esi, 4
jae 0x483540
cmp esi, 0xfffffffc
je 0x4835a4
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x483583
cmp esi, 0xfffffffd
je 0x4835a4
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x483583
cmp esi, 0xfffffffe
je 0x4835a4
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x483583
cmp esi, 0xffffffff
je 0x4835a4
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x4835a4
mov eax, dword [ebp - 0x4c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x20]
push edi
call fcn.00437190
mov esi, dword [ebp - 0x130]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x483531
jmp 0x4835d7
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x4835d7
mov esi, dword [ebp - 0x130]
cmp dword [ebp - 0x2a8], 0xf
lea eax, [ebp - 0x2bc]
push dword [ebp - 0x2ac]
cmova eax, dword [ebp - 0x2bc]
lea ecx, [ebp - 0x64]
push eax
push esi
push edi
call fcn.00418b00
mov edi, dword [ebp - 0x18]
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x12c]
cmp eax, 0xf
jbe 0x483614
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x48360a
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x483909
push ecx
push edi
call fcn.004338e3
add esp, 8
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0xf
mov byte [ebp - 0x140], 0
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x2bc]
call fcn.00402df0
sub esp, 0x18
lea eax, [ebp - 0x48]
mov ecx, esp
mov dword [ebp - 0xec], esp
push eax
call fcn.004163b0
mov byte [ebp - 4], 0x29
mov byte [ebp - 4], 0x23
call fcn.004e45d0
add esp, 0x18
mov esi, eax
jmp 0x483669
mov esi, dword [ebp - 0x18]
and dword [ebp - 0x28], 0xffffffdf
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0xf
jbe 0x4836ab
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4836a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x483909
push ecx
push edx
call fcn.004338e3
add esp, 8
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0xf
mov byte [ebp - 0xe0], 0
jmp 0x4836d0
mov esi, dword [ebp - 0x18]
jmp 0x4836d3
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x34]
test esi, esi
je 0x483707
cmp esi, dword [ebp - 0x6c]
ja 0x483707
cmp dword [ebp - 0x50], 0xf
lea ecx, [ebp - 0x64]
push 0
cmova ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x48]
cmp edx, 0xf
push ecx
cmova eax, dword [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x483707
mov eax, dword [ebx + 8]
inc dword [ebp - 0x2c]
add dword [eax], esi
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x48]
call fcn.00402df0
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x50]
cmp ecx, 0xf
jbe 0x48374b
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x483741
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x483909
push ecx
push edx
call fcn.004338e3
add esp, 8
mov byte [ebp - 0x64], 0
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x54], 0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
sub eax, ecx
mov edx, dword [ebp - 0x7c]
sar eax, 3
inc edx
imul eax, eax, 0xaaaaaaab
mov dword [ebp - 0x7c], edx
cmp edx, eax
jae 0x483787
mov esi, dword [ebx + 8]
jmp 0x4825c0
mov edi, dword [ebp - 0x2c]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc8]
call fcn.004185d0
test edi, edi
jg 0x483809
cmp byte [ebp - 0x11], 0
je 0x483809
cmp dword [ebx + 0x50], 0xf
lea edx, [ebx + 0x3c]
xorps xmm0, xmm0
mov dword [ebp - 0x330], 0
cmova edx, dword [ebx + 0x3c]
mov ecx, edx
mov dword [ebp - 0x32c], 0
movups xmmword [ebp - 0x340], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4837d1
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x340]
call fcn.00403040
mov byte [ebp - 4], 0x2a
push ecx
lea ecx, [ebp - 0x340]
call fcn.004e3b20
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x340]
call fcn.00402df0
lea eax, [ebx + 0x3c]
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.004134c0
mov ecx, 0x5868e4
mov eax, dword [eax]
cmp eax, dword [0x5868e4]
lea eax, [ebx + 0x3c]
push eax
jne 0x483835
call fcn.00413340
mov dword [eax], edi
jmp 0x48383c
call fcn.00413340
add dword [eax], edi
mov byte [ebp - 4], 2
lea ecx, [ebx + 0x24]
call fcn.00402df0
mov byte [ebp - 4], 1
lea ecx, [ebx + 0x3c]
call fcn.00402df0
mov byte [ebp - 4], 0
lea ecx, [ebx + 0xc]
call fcn.004185d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebx + 0x18]
call fcn.004185d0
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x586910
call fcn.004339a3
add esp, 4
cmp dword [0x586910], 0xffffffff
jne 0x482161
mov byte [ebp - 4], 4
push 0x2c
mov dword [0x5868e4], 0
mov dword [0x5868e8], 0
call fcn.00433662
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [0x5868e4], eax
mov byte [ebp - 4], 4
push 0x559860
call fcn.004338ce
add esp, 4
mov byte [ebp - 4], 3
push 0x586910
call fcn.00433952
add esp, 4
jmp 0x482161
call fcn.00402b50
call fcn.00403330
call fcn.00402c60
call fcn.00438c60
int3