Function at 0x42b2f0
Capabilities:
Check if file exists
Get disk information
Get installed programs

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59b63d
mov eax, dword fs:[0]
push eax
sub esp, 0x2fc
mov eax, dword [0x6102d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x2d4], esi
lea eax, [ebp - 0x2a8]
mov dword [ebp - 0x2e8], 0
push str.944782185337302306380356162769551663695624223844
push eax
call fcn.0044e07f
add esp, 8
mov dword [ebp - 4], 0
mov dword [ebp - 0x304], 0
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2fc], 0
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 0x2d8]
push eax
push 0x109
push 0
push 0x5a19a0
push reloc.WS2_32.dll_bind
mov byte [ebp - 4], 1
mov dword [ebp - 0x2ec], 0
mov dword [ebp - 0x2d8], 0
call edi
test eax, eax
jne 0x42b3d0
lea eax, [ebp - 0x304]
mov ecx, esi
push eax
push dword [ebp - 0x2d8]
call fcn.0042c880
push dword [ebp - 0x2d8]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
jne 0x42b419
mov esi, dword [ebp - 0x2d4]
lea eax, [ebp - 0x2d8]
push eax
push 9
push 0
push 0x5a1a28
push reloc.WS2_32.dll_bind
call edi
test eax, eax
jne 0x42c81c
lea eax, [ebp - 0x304]
mov ecx, esi
push eax
push dword [ebp - 0x2d8]
call fcn.0042c880
push dword [ebp - 0x2d8]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
je 0x42c81c
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
push 0x20
push str.2d15d90e75310c5035d331a2d18b01fb
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 3
push eax
push 0
lea ecx, [ebp - 0x2cc]
call fcn.00424ed0
mov edx, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x42b4be
mov ecx, dword [ebp - 0x230]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42b4b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c858
push edx
push ecx
call fcn.0045ec62
add esp, 8
push 0x20
push str.7663e03884c040619e896513abd9c52b
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
call fcn.00419110
mov edi, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x2c8]
mov byte [ebp - 4], 4
cmp edi, esi
je 0x42b53b
movups xmm0, xmmword [ebp - 0x248]
mov dword [esi + 0x10], 0
mov edx, 0xf
mov dword [esi + 0x14], 0
movups xmmword [esi], xmm0
mov byte [ebp - 0x248], 0
movq xmm0, qword [ebp - 0x238]
movq qword [esi + 0x10], xmm0
add esi, 0x18
mov dword [ebp - 0x2c8], esi
jmp 0x42b560
lea eax, [ebp - 0x248]
push eax
push esi
lea ecx, [ebp - 0x2cc]
call fcn.00424ed0
mov edi, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x234]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x42b598
mov ecx, dword [ebp - 0x248]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42b58e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c85d
push edx
push ecx
call fcn.0045ec62
add esp, 8
push 0x20
push str.23b89823fa978f30ddaabd337edca6af
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
call fcn.00419110
mov byte [ebp - 4], 5
cmp edi, esi
je 0x42b609
movups xmm0, xmmword [ebp - 0x248]
mov dword [esi + 0x10], 0
mov edx, 0xf
mov dword [esi + 0x14], 0
movups xmmword [esi], xmm0
mov byte [ebp - 0x248], 0
movq xmm0, qword [ebp - 0x238]
movq qword [esi + 0x10], xmm0
add esi, 0x18
mov dword [ebp - 0x2c8], esi
jmp 0x42b62e
lea eax, [ebp - 0x248]
push eax
push esi
lea ecx, [ebp - 0x2cc]
call fcn.00424ed0
mov edi, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x234]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x42b666
mov ecx, dword [ebp - 0x248]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42b65c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c862
push edx
push ecx
call fcn.0045ec62
add esp, 8
push 0x20
push str.0d365987ca9b9761001facb450516f02
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
call fcn.00419110
mov byte [ebp - 4], 6
cmp edi, esi
je 0x42b6d7
movups xmm0, xmmword [ebp - 0x248]
mov dword [esi + 0x10], 0
mov edx, 0xf
mov dword [esi + 0x14], 0
movups xmmword [esi], xmm0
mov byte [ebp - 0x248], 0
movq xmm0, qword [ebp - 0x238]
movq qword [esi + 0x10], xmm0
add esi, 0x18
mov dword [ebp - 0x2c8], esi
jmp 0x42b6fc
lea eax, [ebp - 0x248]
push eax
push esi
lea ecx, [ebp - 0x2cc]
call fcn.00424ed0
mov edi, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x234]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x42b734
mov ecx, dword [ebp - 0x248]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42b72a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c867
push edx
push ecx
call fcn.0045ec62
add esp, 8
push 0x20
push str.e29c36eaa6137543636756097ba1d081
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
call fcn.00419110
mov byte [ebp - 4], 7
cmp edi, esi
je 0x42b7a5
movups xmm0, xmmword [ebp - 0x248]
mov dword [esi + 0x10], 0
mov edx, 0xf
mov dword [esi + 0x14], 0
movups xmmword [esi], xmm0
mov byte [ebp - 0x248], 0
movq xmm0, qword [ebp - 0x238]
movq qword [esi + 0x10], xmm0
add esi, 0x18
mov dword [ebp - 0x2c8], esi
jmp 0x42b7ca
lea eax, [ebp - 0x248]
push eax
push esi
lea ecx, [ebp - 0x2cc]
call fcn.00424ed0
mov edi, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x234]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x42b802
mov ecx, dword [ebp - 0x248]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42b7f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c86c
push edx
push ecx
call fcn.0045ec62
add esp, 8
push 0x20
push str.33189cb85ebfeb7960fa39c3a3012a2b
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
call fcn.00419110
mov byte [ebp - 4], 8
cmp edi, esi
je 0x42b873
movups xmm0, xmmword [ebp - 0x248]
mov dword [esi + 0x10], 0
mov edx, 0xf
mov dword [esi + 0x14], 0
movups xmmword [esi], xmm0
mov byte [ebp - 0x248], 0
movq xmm0, qword [ebp - 0x238]
movq qword [esi + 0x10], xmm0
add esi, 0x18
mov dword [ebp - 0x2c8], esi
jmp 0x42b898
lea eax, [ebp - 0x248]
push eax
push esi
lea ecx, [ebp - 0x2cc]
call fcn.00424ed0
mov edi, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x234]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x42b8d0
mov ecx, dword [ebp - 0x248]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42b8c6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c871
push edx
push ecx
call fcn.0045ec62
add esp, 8
push 0x20
push str.ae9b332291ca68a77b9d708d5d6bf616
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
call fcn.00419110
mov byte [ebp - 4], 9
cmp edi, esi
je 0x42b950
movups xmm0, xmmword [ebp - 0x248]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmmword [esi], xmm0
mov byte [ebp - 0x248], 0
movq xmm0, qword [ebp - 0x238]
movq qword [esi + 0x10], xmm0
add esi, 0x18
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov dword [ebp - 0x2c8], esi
jmp 0x42b963
lea eax, [ebp - 0x248]
push eax
push esi
lea ecx, [ebp - 0x2cc]
call fcn.00424ed0
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.ec856f87cbc59983bca65839a324eb26
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.e96b3c8448a4ffd9e7d7c10400c4b026
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.42dc8e11e3641ce81f274856a7b3120e
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.39afe01add7cca823ec5e7ad1f1f31f5
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.f86d10652b9f0749cfd4735b7dcb9840
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x230]
call fcn.0040a610
push 0x20
push str.958cb37d123f563a7c35fe437f83dcf7
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.56b61a79a8df9baa506d33fb24c4c729
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.352c5edb59f5c16bb32bed4950ac6dc4
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.16b02c25811ab173f4f2621294d83691
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.ddc9a5c68be4ad2a379a69b9af46497d
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x230]
call fcn.0040a610
push 0x20
push str.22c782cf919d0d9ba2aee6d9207916ed
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.34a814d5cf434988582b10f92de4e175
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.bd4f0db696e0a2a752e3905cada970d5
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.4a2debcab68d83206d80ef723fbb9814
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.e494e69c276d6f59f084d8514cf122c3
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.5e327b4bf5173bb14cf928d9e1f53dbf
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.389cbb7928321336b6288b9db1de0492
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.a91bde018a3fbcde8bf55aef811501c1
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.de3151181de4b0f22b76ffca3328f7d4
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.35637a93a4ae76c2bdf0d222db1cdd99
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
mov dword [ebp - 0x220], 0
push 0x20
push str.92c086d2fcd09a32d0edf28ec1c4e6f5
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x20
push str.b05bca14bf49713bfcbdabc8fbb2e184
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00419110
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00425ce0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.0040a610
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0056f980
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
lea edi, [ebp - 0x218]
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42c0b1
sub ecx, edx
sar ecx, 1
cmp ecx, 3
jne 0x42c1cb
nop dword [eax]
mov ecx, edi
mov dword [ebp - 0x268], 0
xor eax, eax
mov dword [ebp - 0x264], 7
mov word [ebp - 0x278], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42c0f2
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x278]
call fcn.00411630
cmp dword [ebp - 0x294], 8
lea eax, [ebp - 0x2a8]
push dword [ebp - 0x298]
cmovae eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x278]
push eax
mov byte [ebp - 4], 0x20
call fcn.004114b0
push 1
push 0x5a1724
lea ecx, [ebp - 0x278]
call fcn.004114b0
cmp dword [ebp - 0x264], 8
lea eax, [ebp - 0x278]
cmovae eax, dword [ebp - 0x278]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42c19c
mov esi, dword [ebp - 0x300]
lea eax, [ebp - 0x278]
push eax
cmp dword [ebp - 0x2fc], esi
je 0x42c190
mov ecx, esi
call fcn.0040cde0
add esi, 0x18
mov dword [ebp - 0x300], esi
jmp 0x42c19c
push esi
lea ecx, [ebp - 0x304]
call fcn.0040ee90
add edi, 8
mov esi, edi
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x42c1a4
sub esi, ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x278]
sar esi, 1
call fcn.004113b0
cmp esi, 3
je 0x42c0d0
mov edi, dword [ebp - 0x304]
cmp edi, dword [ebp - 0x300]
je 0x42c811
nop dword [eax]
cmp dword [ebp - 0x2ec], 0
jne 0x42c811
cmp dword [edi + 0x14], 8
mov edx, edi
jb 0x42c1f7
mov edx, dword [edi]
mov ecx, edx
mov dword [ebp - 0x220], 0
xor eax, eax
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42c220
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x230]
call fcn.00411630
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2f0], 0
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x2f8]
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x22
cmovae eax, dword [ebp - 0x230]
push ecx
push eax
call fcn.0044aece
mov esi, dword [ebp - 0x2f8]
add esp, 8
mov eax, dword [ebp - 0x2f4]
cmp esi, eax
je 0x42c794
nop word [eax + eax]
cmp dword [ebp - 0x2ec], 0
jne 0x42c78e
cmp dword [esi + 0x14], 8
mov edx, esi
jb 0x42c2b7
mov edx, dword [esi]
mov ecx, edx
mov dword [ebp - 0x238], 0
xor eax, eax
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
lea eax, [ecx + 2]
mov dword [ebp - 0x2d4], eax
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42c2e0
sub ecx, dword [ebp - 0x2d4]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x248]
call fcn.00411630
cmp dword [ebp - 0x234], 8
lea ecx, [ebp - 0x248]
mov eax, dword [ebp - 0x238]
cmovae ecx, dword [ebp - 0x248]
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x2e4], ecx
mov dword [ebp - 0x2d4], eax
cmp eax, 1
jb 0x42c358
lea eax, [ecx + eax*2]
mov dword [ebp - 0x2e0], eax
sub eax, ecx
sar eax, 1
je 0x42c352
nop
cmp word [ecx], 0x40
je 0x42c530
add ecx, 2
sub eax, 1
jne 0x42c340
mov eax, dword [ebp - 0x2d4]
or ecx, 0xffffffff
cmp ecx, 0xffffffff
jle 0x42c76e
lea edx, [ecx + 1]
mov dword [ebp - 0x250], 0
xor ecx, ecx
mov dword [ebp - 0x24c], 7
mov word [ebp - 0x260], cx
cmp eax, edx
jb 0x42c853
sub eax, edx
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push ecx
lea ecx, [ebp - 0x260]
lea eax, [eax + edx*2]
push eax
call fcn.00411630
or dword [ebp - 0x2e8], 1
cmp dword [ebp - 0x24c], 8
lea eax, [ebp - 0x260]
mov ecx, dword [ebp - 0x250]
cmovae eax, dword [ebp - 0x260]
mov byte [ebp - 4], 0x24
mov dword [ebp - 0x308], eax
cmp ecx, 1
jb 0x42c418
lea ecx, [eax + ecx*2]
mov dword [ebp - 0x2e0], ecx
sub ecx, eax
sar ecx, 1
je 0x42c412
nop word [eax + eax]
cmp word [eax], 0x5f
je 0x42c58f
add eax, 2
sub ecx, 1
jne 0x42c400
mov ecx, dword [ebp - 0x250]
or eax, 0xffffffff
cmp eax, 0xffffffff
jle 0x42c4bf
xor edx, edx
mov dword [ebp - 0x280], 0
cmp ecx, eax
mov dword [ebp - 0x27c], 7
mov word [ebp - 0x290], dx
cmovb eax, ecx
cmp dword [ebp - 0x24c], 8
lea ecx, [ebp - 0x260]
cmovae ecx, dword [ebp - 0x260]
push eax
push ecx
lea ecx, [ebp - 0x290]
call fcn.00411630
or dword [ebp - 0x2e8], 2
lea ecx, [ebp - 0x260]
call fcn.004113b0
movups xmm0, xmmword [ebp - 0x290]
xor eax, eax
lea ecx, [ebp - 0x290]
mov word [ebp - 0x290], ax
movups xmmword [ebp - 0x260], xmm0
movq xmm0, qword [ebp - 0x280]
movq qword [ebp - 0x250], xmm0
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 7
call fcn.004113b0
lea eax, [ebp - 0x260]
push eax
call fcn.0044d8a7
mov eax, dword [ebp - 0x250]
lea ecx, [ebp - 0x260]
add esp, 4
mov dword [ebp - 0x268], 0
cmp dword [ebp - 0x24c], 8
mov dword [ebp - 0x264], 0
cmovae ecx, dword [ebp - 0x260]
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2e4], ecx
cmp eax, 8
jae 0x42c5ee
movups xmm0, xmmword [ecx]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], 7
movups xmmword [ebp - 0x278], xmm0
jmp 0x42c64c
test ecx, ecx
je 0x42c352
mov edx, 0x5a43a4
mov dword [ebp - 0x2dc], 1
mov eax, ecx
sub eax, edx
mov dword [ebp - 0x308], eax
mov ax, word [eax + edx]
cmp ax, word [edx]
jne 0x42c56e
add edx, 2
sub dword [ebp - 0x2dc], 1
je 0x42c57c
mov eax, dword [ebp - 0x308]
jmp 0x42c551
mov eax, dword [ebp - 0x2e0]
add ecx, 2
jmp 0x42c338
sub ecx, dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x2d4]
sar ecx, 1
jmp 0x42c35b
test eax, eax
je 0x42c412
mov edx, 0x5a1fb4
mov dword [ebp - 0x2d4], 1
mov ecx, eax
sub ecx, edx
mov dword [ebp - 0x2e4], ecx
mov cx, word [edx + ecx]
cmp cx, word [edx]
jne 0x42c5cd
add edx, 2
sub dword [ebp - 0x2d4], 1
je 0x42c5db
mov ecx, dword [ebp - 0x2e4]
jmp 0x42c5b0
mov ecx, dword [ebp - 0x2e0]
add eax, 2
jmp 0x42c3f4
sub eax, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x250]
sar eax, 1
jmp 0x42c41b
or eax, 7
mov ecx, accept
cmp eax, 0x7ffffffe
cmova eax, ecx
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x2e0], eax
inc eax
push eax
call fcn.0040b1f0
mov ecx, dword [ebp - 0x2d4]
mov dword [ebp - 0x278], eax
lea ecx, [ecx*2 + 2]
push ecx
push dword [ebp - 0x2e4]
push eax
call fcn.0056ee80
mov eax, dword [ebp - 0x2d4]
add esp, 0xc
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x264], eax
push 1
push 0x5a1fb4
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x25
call fcn.004114b0
push 9
push 0x5a1790
lea ecx, [ebp - 0x278]
call fcn.004114b0
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.0044cc1f
add esp, 8
mov eax, dword [ebp - 0x2cc]
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x2dc], eax
cmp eax, dword [ebp - 0x2c8]
je 0x42c74d
cmp dword [eax + 0x14], 0x10
mov edx, eax
jb 0x42c6b0
mov edx, dword [eax]
cmp dword [ebp - 0x2ac], 0x10
lea ecx, [ebp - 0x2c0]
cmovae ecx, dword [ebp - 0x2c0]
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0x2cd], al
mov eax, dword [ebp - 0x2dc]
jne 0x42c706
cmp byte [ebp - 0x2cd], 0
je 0x42c702
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0x2cd], al
mov eax, dword [ebp - 0x2dc]
jne 0x42c706
add ecx, 2
add edx, 2
cmp byte [ebp - 0x2cd], 0
jne 0x42c6c4
xor ecx, ecx
jmp 0x42c70b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x42c722
add eax, 0x18
mov dword [ebp - 0x2dc], eax
cmp eax, dword [ebp - 0x2c8]
jne 0x42c6a6
jmp 0x42c74d
cmp dword [ebp - 0x24c], 8
lea eax, [ebp - 0x260]
mov dword [ebp - 0x2ec], 1
cmovae eax, dword [ebp - 0x260]
push eax
call fcn.00418a60
mov ecx, eax
call fcn.00421690
lea ecx, [ebp - 0x2c0]
call fcn.00411360
lea ecx, [ebp - 0x278]
call fcn.004113b0
lea ecx, [ebp - 0x260]
call fcn.004113b0
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x22
call fcn.004113b0
mov eax, dword [ebp - 0x2f4]
add esi, 0x18
cmp esi, eax
jne 0x42c2a0
mov esi, dword [ebp - 0x2f8]
test esi, esi
je 0x42c7f3
lea ecx, [ebp - 0x2f8]
push ecx
push eax
push esi
call fcn.0040ee20
mov ecx, dword [ebp - 0x2f0]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x2f8]
add esp, 0xc
sub ecx, esi
imul ecx
lea ecx, [ebp - 0x2f8]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.00411740
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2f0], 0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.004113b0
add edi, 0x18
cmp edi, dword [ebp - 0x300]
jne 0x42c1e0
lea ecx, [ebp - 0x2cc]
call fcn.0040a440
lea ecx, [ebp - 0x304]
call fcn.0040f780
lea ecx, [ebp - 0x2a8]
call fcn.0040a530
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045ef18
mov esp, ebp
pop ebp
ret
call fcn.00411430
call fcn.00572b79
call fcn.00572b79
call fcn.00572b79
call fcn.00572b79
call fcn.00572b79
call fcn.00572b79
int3