Function at 0x4139c0
Capabilities:
Contain obfuscated stackstrings

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 0x48d28f
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x418
mov eax, dword [0x4b3100]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x370], edi
mov eax, dword [edi + 0x64]
cmp eax, dword [edi + 0x68]
je 0x413a14
mov dword [edi + 0x68], eax
push 0
push 0
push 0x188
push dword [edi + 0xb8]
mov dword [edi + 0x48], 0xffffffff
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x348], eax
cmp eax, 0xffffffff
je 0x414bcb
push 0
push eax
push 0x18a
push dword [edi + 0xb8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
mov ecx, 2
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.00460ee1
add esp, 4
mov dword [ebp - 0x374], eax
push eax
push dword [ebp - 0x348]
push 0x189
push dword [edi + 0xb8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x374]
xor ecx, ecx
push ecx
push ecx
push 0x147
mov word [eax + esi*2], cx
push dword [edi + 0xd0]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x348], eax
cmp eax, 0xffffffff
je 0x414bcb
push 0
push eax
push 0x149
push dword [edi + 0xd0]
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
mov ecx, 2
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.00460ee1
add esp, 4
mov dword [ebp - 0x378], eax
push eax
push dword [ebp - 0x348]
push 0x148
push dword [edi + 0xd0]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x378]
xor ecx, ecx
mov word [eax + esi*2], cx
lea ecx, [ebp - 0x394]
call fcn.0040b1d0
push 0x4a4b2c
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.0042fad0
mov dword [ebp - 0x48], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x48], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push dword [ebp - 0x378]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.0042fad0
mov dword [ebp - 0x35c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x36c], xmm0
mov dword [ebp - 0x358], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x36c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x35c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 0x4a4b2c
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 2
call fcn.0042fad0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1a0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x190], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x36c]
call fcn.00405cd0
lea ecx, [ebp - 0x58]
call fcn.00405cd0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x394]
call fcn.00405cd0
mov esi, dword [ebp - 0x374]
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x413c33
sub ecx, edx
mov eax, SysReAllocString
mov edx, dword [ebp - 0x190]
sub eax, edx
sar ecx, 1
cmp eax, ecx
jb 0x414bee
cmp dword [ebp - 0x18c], 7
lea eax, [ebp - 0x1a0]
push ecx
cmova eax, dword [ebp - 0x1a0]
push esi
push edx
push eax
push ecx
push dword [ebp - 0x34c]
lea ecx, [ebp - 0x1d0]
call fcn.00443140
push 0x4a47a0
push 0
push 0xc
mov byte [ebp - 4], 7
push dword [edi + 0x9c]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x184
push dword [edi + 0xc0]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0xb8
lea eax, [ebp - 0x288]
push 0
push eax
call fcn.00463f40
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0x288]
call fcn.0042c5b0
mov byte [ebp - 4], 8
cmp dword [ebp - 0x22c], 0
je 0x414b93
lea ecx, [ebp - 0x278]
call fcn.00433860
test eax, eax
jne 0x413d1d
mov eax, dword [ebp - 0x288]
lea ecx, [ebp - 0x288]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00405180
push 0xb8
lea eax, [ebp - 0x340]
push 0
push eax
call fcn.00463f40
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0x340]
call fcn.0042c5b0
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
lea edx, [ebp - 0x2c]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x340]
call fcn.00438b70
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x413e84
nop dword [eax]
mov edi, dword [ebp - 0x18]
lea ecx, [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
cmp edi, 0xf
push 3
cmova ecx, dword [ebp - 0x2c]
mov edx, esi
push 0x4a4ce8
push ecx
call fcn.0043bab0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x413dc6
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x340]
call fcn.00438b70
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x413d80
jmp 0x413e84
cmp edi, 0xf
lea eax, [ebp - 0x2c]
cmova eax, dword [ebp - 0x2c]
mov dword [ebp - 0x348], eax
test esi, esi
je 0x413df2
push esi
push 0x22
push eax
call fcn.00462210
add esp, 0xc
test eax, eax
je 0x413df2
sub eax, dword [ebp - 0x348]
jmp 0x413df5
or eax, 0xffffffff
lea ecx, [eax + 1]
cmp edi, 0xf
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x354], ecx
cmova eax, dword [ebp - 0x2c]
mov dword [ebp - 0x348], eax
cmp ecx, esi
jae 0x413e30
sub esi, ecx
add eax, ecx
push esi
push 0x22
push eax
call fcn.00462210
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x413e30
sub ecx, dword [ebp - 0x348]
jmp 0x413e33
or ecx, 0xffffffff
cmp edi, 0xf
lea eax, [ebp - 0x2c]
cmova eax, dword [ebp - 0x2c]
add ecx, eax
cmp edi, 0xf
push ecx
lea eax, [ebp - 0x2c]
cmova eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x354]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00438aa0
cmp dword [ebp - 0x44], 7
lea eax, [ebp - 0x58]
cmova eax, dword [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x370]
push 0
push 0xc
push dword [eax + 0x9c]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x58]
call fcn.00405cd0
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x340]
xor edx, edx
push 0
add ecx, dword [eax + 4]
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
push eax
call fcn.00405180
sub esp, 0x18
lea ecx, [ebp - 0x340]
mov eax, esp
xorps xmm0, xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
movq qword [eax + 0x10], xmm0
call fcn.0042e6f0
xorps xmm0, xmm0
mov byte [ebp - 0x354], 0
xor eax, eax
mov dword [ebp - 0x98], 0
movups xmmword [ebp - 0xa8], xmm0
mov dword [ebp - 0x94], 7
mov word [ebp - 0xa8], ax
lea edx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x340]
call fcn.00438b70
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x414b6f
nop dword [eax + eax]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x2c]
cmp edx, 2
jbe 0x414042
cmp esi, 0xf
lea eax, [ebp - 0x2c]
cmova eax, edi
cmp byte [eax], 0x7b
jne 0x414042
cmp esi, 0xf
lea eax, [ebp - 0x2c]
cmova eax, edi
cmp byte [eax + 1], 0x7d
je 0x414042
cmp esi, 0xf
mov byte [ebp - 0x354], 1
lea ecx, [ebp - 0x2c]
cmova ecx, edi
lea eax, [ebp - 0x2c]
dec edx
add ecx, edx
cmp esi, 0xf
push ecx
cmova eax, edi
push ecx
inc eax
lea ecx, [ebp - 0x394]
push eax
call fcn.00438aa0
mov esi, eax
lea eax, [ebp - 0xa8]
cmp eax, esi
je 0x413fcf
mov ecx, eax
call fcn.00405cd0
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0xa8], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x98], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x380]
cmp ecx, 7
jbe 0x41400f
mov edx, dword [ebp - 0x394]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x414005
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414be9
push ecx
push edx
call fcn.00460ed3
add esp, 8
cmp dword [ebp - 0x94], 7
lea eax, [ebp - 0xa8]
cmova eax, dword [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0x370]
push 0
push 0x180
push dword [eax + 0xc0]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x414b51
cmp esi, 0xf
lea ecx, [ebp - 0x2c]
push 2
cmova ecx, edi
push 0x4a4cec
push ecx
call fcn.0043bab0
add esp, 0xc
cmp eax, 0xffffffff
je 0x414b1c
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x2c]
cmp esi, 0xf
push 2
cmova ecx, edi
push 0x4a4cf0
push ecx
call fcn.0043bab0
add esp, 0xc
cmp eax, 0xffffffff
je 0x414b1c
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x2c]
cmp esi, 0xf
push 2
cmova ecx, edi
push 0x4a4cf4
push ecx
call fcn.0043bab0
add esp, 0xc
cmp eax, 0xffffffff
je 0x414b1c
cmp byte [ebp - 0x354], 0
je 0x414b51
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
lea eax, [ebp - 0x3c]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x34c], eax
push 1
mov byte [ebp - 4], 0xc
call fcn.0045eec4
add esp, 4
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0xd
push eax
call fcn.0043dd90
add esp, 4
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x34]
push eax
call fcn.00437800
mov dword [ebp - 0x38], eax
push 0x4a4d21
push ecx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xe
call fcn.0043a280
push 0x38
lea eax, [ebp - 0x90]
push 0
push eax
call fcn.00463f40
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0
add esp, 0xc
mov byte [ebp - 0x8c], 0
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov byte [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov byte [ebp - 0x5c], 0
cmp dword [ebp - 0x18], 0xf
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x2c]
mov edi, dword [ebp - 0x1c]
lea esi, [ebp - 0x2c]
cmova eax, edx
cmova ecx, edx
add edi, ecx
mov dword [ebp - 0x34c], eax
cmp dword [ebp - 0x18], 0xf
cmova esi, edx
cmp dword [ebp - 0x40], 0
mov dword [ebp - 0x348], esi
je 0x414a8f
push 0x80
lea eax, [ebp - 0x188]
mov byte [ebp - 0x341], 0
push 0
push eax
call fcn.00463f40
mov edx, dword [ebp - 0x40]
xorps xmm0, xmm0
add esp, 0xc
mov eax, dword [edx + 0x14]
mov ecx, dword [edx + 0x1c]
movups xmmword [ebp - 0x188], xmm0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
movups xmmword [ebp - 0x168], xmm0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], edi
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x128], 0
mov byte [ebp - 0x124], 0
mov dword [ebp - 0x120], ecx
mov al, byte [edx + 8]
shr al, 3
and al, 1
mov byte [ebp - 0x11c], al
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x118], eax
mov eax, dword [edx + 0x18]
test eax, eax
je 0x4142bd
push ecx
push eax
lea ecx, [ebp - 0x148]
call fcn.00456030
push ecx
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x188]
call fcn.004508f0
test al, al
jne 0x41437f
cmp esi, edi
je 0x41439c
mov eax, dword [ebp - 0x128]
lea ecx, [ebp - 0x188]
or eax, 0x100
and eax, 0xffffdfff
push 0
mov dword [ebp - 0x128], eax
lea eax, [esi + 1]
push edi
push eax
lea eax, [ebp - 0x37c]
push eax
call fcn.00450690
mov esi, dword [eax]
cmp esi, edi
je 0x41435c
nop dword [eax]
push ecx
lea eax, [ebp - 0x90]
mov dword [ebp - 0x134], esi
push eax
lea ecx, [ebp - 0x188]
call fcn.004508f0
test al, al
jne 0x414379
push 0
push edi
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x37c]
push eax
lea ecx, [ebp - 0x188]
call fcn.00450690
mov esi, dword [eax]
cmp esi, edi
jne 0x414320
push ecx
lea eax, [ebp - 0x90]
mov dword [ebp - 0x134], edi
push eax
lea ecx, [ebp - 0x188]
call fcn.004508f0
test al, al
je 0x41439c
mov esi, dword [ebp - 0x348]
cmp esi, dword [ebp - 0x78]
mov eax, dword [ebp - 0x34c]
mov byte [ebp - 0x341], 1
setne byte [ebp - 0x74]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x7c], esi
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x148]
test ecx, ecx
je 0x414402
mov eax, dword [ebp - 0x140]
sub eax, ecx
sar eax, 3
lea edx, [eax*8]
mov eax, ecx
cmp edx, 0x1000
jb 0x4143da
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414be9
push edx
push ecx
call fcn.00460ed3
add esp, 8
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
lea ecx, [ebp - 0x168]
call fcn.0044dc60
lea ecx, [ebp - 0x188]
call fcn.0044dc60
cmp byte [ebp - 0x341], 0
je 0x414a8f
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x88]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 1
ja 0x414446
lea ecx, [ebp - 0x64]
jmp 0x414449
add ecx, 0xc
lea eax, [ebp - 0x3c4]
push eax
call fcn.0042b7f0
mov edx, eax
mov byte [ebp - 4], 0x15
cmp dword [edx + 0x14], 0xf
jbe 0x414463
mov edx, dword [edx]
mov ecx, edx
mov dword [ebp - 0xf8], 0
xorps xmm0, xmm0
mov dword [ebp - 0xf4], 0
movups xmmword [ebp - 0x108], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414486
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x108]
call fcn.00409360
lea ecx, [ebp - 0x3c4]
mov byte [ebp - 4], 0x17
call fcn.00430280
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x88]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 2
ja 0x4144cc
lea ecx, [ebp - 0x64]
jmp 0x4144cf
add ecx, 0x18
lea eax, [ebp - 0x3ac]
push eax
call fcn.0042b7f0
mov edx, eax
mov byte [ebp - 4], 0x18
cmp dword [edx + 0x14], 0xf
jbe 0x4144e9
mov edx, dword [edx]
mov ecx, edx
mov dword [ebp - 0xe0], 0
xorps xmm0, xmm0
mov dword [ebp - 0xdc], 0
movups xmmword [ebp - 0xf0], xmm0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414510
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00409360
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 0x1a
call fcn.00430280
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x88]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 3
ja 0x414556
lea ecx, [ebp - 0x64]
jmp 0x414559
add ecx, 0x24
cmp byte [ecx + 8], 0
je 0x41456e
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov ecx, edx
mov dword [ebp - 0x34c], edx
jmp 0x414574
xor eax, eax
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x35c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x358], 0
movups xmmword [ebp - 0x36c], xmm0
cmp eax, edx
jne 0x4145b4
mov eax, 0xf
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], eax
mov byte [ebp - 0x36c], 0
jmp 0x4145c9
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x36c]
call fcn.00409360
mov eax, dword [ebp - 0x358]
mov byte [ebp - 4], 0x1b
lea edx, [ebp - 0x36c]
cmp eax, 0xf
mov dword [ebp - 0xc8], 0
xorps xmm0, xmm0
mov dword [ebp - 0xc4], 0
cmova edx, dword [ebp - 0x36c]
mov ecx, edx
movups xmmword [ebp - 0xd8], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414600
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xd8]
call fcn.00409360
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x358]
cmp ecx, 0xf
jbe 0x414654
mov edx, dword [ebp - 0x36c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41464a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414be9
push ecx
push edx
call fcn.00460ed3
add esp, 8
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x88]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, 4
ja 0x414675
lea ecx, [ebp - 0x64]
jmp 0x414678
add ecx, 0x30
cmp byte [ecx + 8], 0
je 0x41468d
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov ecx, edx
mov dword [ebp - 0x34c], edx
jmp 0x414693
xor eax, eax
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x35c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x358], 0
movups xmmword [ebp - 0x36c], xmm0
cmp eax, edx
jne 0x4146d3
mov eax, 0xf
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], eax
mov byte [ebp - 0x36c], 0
jmp 0x4146e8
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x36c]
call fcn.00409360
mov eax, dword [ebp - 0x358]
mov byte [ebp - 4], 0x1e
lea edx, [ebp - 0x36c]
cmp eax, 0xf
mov dword [ebp - 0xb0], 0
xorps xmm0, xmm0
mov dword [ebp - 0xac], 0
cmova edx, dword [ebp - 0x36c]
mov ecx, edx
movups xmmword [ebp - 0xc0], xmm0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414720
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xc0]
call fcn.00409360
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x358]
cmp ecx, 0xf
jbe 0x414774
mov edx, dword [ebp - 0x36c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41476a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414be9
push ecx
push edx
call fcn.00460ed3
add esp, 8
cmp dword [ebp - 0xac], 0xf
lea ecx, [ebp - 0xc0]
mov eax, dword [ebp - 0xb0]
cmova ecx, dword [ebp - 0xc0]
add eax, ecx
cmp dword [ebp - 0xac], 0xf
lea ecx, [ebp - 0xc0]
cmova ecx, dword [ebp - 0xc0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x424]
call fcn.00438aa0
mov dword [ebp - 0x348], eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xd8]
cmp dword [ebp - 0xc4], 0xf
mov eax, dword [ebp - 0xc8]
cmova ecx, dword [ebp - 0xd8]
add eax, ecx
cmp dword [ebp - 0xc4], 0xf
lea ecx, [ebp - 0xd8]
cmova ecx, dword [ebp - 0xd8]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x40c]
call fcn.00438aa0
mov dword [ebp - 0x34c], eax
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0xf0]
cmp dword [ebp - 0xdc], 0xf
mov eax, dword [ebp - 0xe0]
cmova ecx, dword [ebp - 0xf0]
add eax, ecx
cmp dword [ebp - 0xdc], 0xf
lea ecx, [ebp - 0xf0]
cmova ecx, dword [ebp - 0xf0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x3f4]
call fcn.00438aa0
mov edi, eax
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x108]
cmp dword [ebp - 0xf4], 0xf
mov eax, dword [ebp - 0xf8]
cmova ecx, dword [ebp - 0x108]
add eax, ecx
cmp dword [ebp - 0xf4], 0xf
lea ecx, [ebp - 0x108]
cmova ecx, dword [ebp - 0x108]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x3dc]
call fcn.00438aa0
push str.:_x
mov ecx, eax
mov byte [ebp - 4], 0x24
call fcn.0042fad0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x394], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x384], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push edi
lea eax, [ebp - 0x394]
mov byte [ebp - 4], 0x25
push eax
push dword [ebp - 0x34c]
lea ecx, [ebp - 0x3c4]
call fcn.00442f90
push str.__y
lea ecx, [ebp - 0x3c4]
mov byte [ebp - 4], 0x26
call fcn.0042fad0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x36c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x35c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0x36c]
push dword [ebp - 0x34c]
lea ecx, [ebp - 0x3ac]
push eax
push dword [ebp - 0x34c]
call fcn.00442f90
push 0x4a4abc
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 0x28
call fcn.0042fad0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x48], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push dword [ebp - 0x348]
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x29
push eax
push dword [ebp - 0x34c]
lea ecx, [ebp - 0x1b8]
call fcn.00442f90
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x44]
cmp ecx, 7
jbe 0x4149d2
mov edx, dword [ebp - 0x58]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4149c8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414be9
push ecx
push edx
call fcn.00460ed3
add esp, 8
lea ecx, [ebp - 0x3ac]
call fcn.00405cd0
lea ecx, [ebp - 0x36c]
call fcn.00405cd0
lea ecx, [ebp - 0x3c4]
call fcn.00405cd0
lea ecx, [ebp - 0x394]
call fcn.00405cd0
lea ecx, [ebp - 0x3dc]
call fcn.00405cd0
lea ecx, [ebp - 0x3f4]
call fcn.00405cd0
lea ecx, [ebp - 0x40c]
call fcn.00405cd0
lea ecx, [ebp - 0x424]
call fcn.00405cd0
cmp dword [ebp - 0x1a4], 7
lea eax, [ebp - 0x1b8]
cmova eax, dword [ebp - 0x1b8]
push eax
mov eax, dword [ebp - 0x370]
push 0
push 0x180
push dword [eax + 0xc0]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x1b8]
call fcn.00405cd0
lea ecx, [ebp - 0xc0]
call fcn.00430280
lea ecx, [ebp - 0xd8]
call fcn.00430280
lea ecx, [ebp - 0xf0]
call fcn.00430280
lea ecx, [ebp - 0x108]
call fcn.00430280
lea ecx, [ebp - 0x88]
call fcn.0042b860
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x414ae3
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x414ae3
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x414ae3
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
mov dword [ebp - 0x34c], ecx
mov eax, dword [ecx]
push 1
mov edi, dword [eax]
mov ecx, edi
call dword [0x49446c]
mov ecx, dword [ebp - 0x34c]
call edi
test esi, esi
jne 0x414ab6
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x40], 0
test edi, edi
je 0x414b51
mov eax, dword [edi]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x49446c]
mov ecx, edi
call esi
mov edi, eax
test edi, edi
je 0x414b51
mov ecx, dword [edi]
push 1
mov esi, dword [ecx]
mov ecx, esi
call dword [0x49446c]
mov ecx, edi
call esi
jmp 0x414b51
cmp dword [ebp - 0x1c], 2
jbe 0x414b51
cmp esi, 0xf
lea eax, [ebp - 0x2c]
cmova eax, edi
cmp byte [eax], 0x7d
jne 0x414b51
mov ecx, dword [ebp - 0x354]
lea eax, [ebp - 0x2c]
cmp esi, 0xf
movzx ecx, cl
cmova eax, edi
xor edx, edx
cmp byte [eax + 1], 0x7d
cmovne ecx, edx
mov dword [ebp - 0x354], ecx
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x340]
call fcn.00438b70
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x413f30
lea ecx, [ebp - 0xa8]
call fcn.00405cd0
lea ecx, [ebp - 0x2c]
call fcn.00430280
lea ecx, [ebp - 0x340]
call fcn.00415920
mov esi, dword [ebp - 0x374]
push esi
call fcn.00460933
add esp, 4
push dword [ebp - 0x378]
call fcn.00460933
add esp, 4
lea ecx, [ebp - 0x288]
call fcn.00415920
lea ecx, [ebp - 0x1d0]
call fcn.00405cd0
lea ecx, [ebp - 0x1a0]
call fcn.00405cd0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00460925
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00474a77
call fcn.00403980
int3