Function at 0x403a70
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd8
lea esi, [esp + 0x48]
push esi
call fcn.0041a3b0
add esp, 4
push esi
call fcn.0041a760
add esp, 4
lea eax, [esp + 0xc]
push eax
call fcn.00483e00
add esp, 4
xor eax, eax
cmp eax, dword [esp + 0xc]
jno 0x403af1
cmp byte [esp + 0x10], 3
mov dword [esp + 0x30], 0x80000000
jne 0x403b09
mov esi, dword [esp + 0x14]
mov ebx, dword [esi + 4]
mov edi, dword [esi]
mov eax, dword [ebx]
test eax, eax
je 0x403ace
push edi
call eax
add esp, 4
mov eax, dword [ebx + 4]
test eax, eax
je 0x403ae2
push dword [ebx + 8]
push eax
push edi
call fcn.0040cd20
add esp, 0xc
push 4
push 0xc
push esi
call fcn.0040cd20
add esp, 0xc
jmp 0x403b09
movq xmm0, qword [esp + 0xc]
movq xmm1, qword [esp + 0x14]
movq qword [esp + 0x38], xmm1
movq qword [esp + 0x30], xmm0
xor eax, eax
mov esi, 1
mov dword [esp + 0x20], 0
cmp eax, dword [esp + 0x30]
jno 0x403b2a
xor ebx, ebx
mov ecx, 1
jmp 0x403d46
lea eax, [esp + 0x30]
push eax
call fcn.004aa890
add esp, 4
push edx
push eax
call fcn.00492f20
add esp, 8
test eax, eax
mov ebx, 0
mov ecx, 1
je 0x403d46
push edx
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004aae60
add esp, 0xc
mov ebx, dword [esp + 0x14]
test ebx, ebx
js 0x404fa5
mov edi, dword [esp + 0x10]
je 0x403b97
mov eax, dword [0x59fb24]
movzx eax, byte [eax]
push 1
push ebx
call fcn.0040cd10
add esp, 8
test eax, eax
jne 0x403b9c
mov eax, 1
push ebx
push eax
call fcn.004cf340
mov eax, 1
push ebx
push edi
mov dword [esp + 0xc], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
test eax, 0x7fffffff
jne 0x403cf3
test ebx, ebx
je 0x403d07
mov eax, dword [0x59fb24]
movzx eax, byte [eax]
push 1
push ebx
call fcn.0040cd10
add esp, 8
test eax, eax
je 0x404fae
mov edi, eax
push ebx
push dword [esp + 8]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp ebx, 8
mov ecx, edi
mov dword [esp + 0x1c], edi
jb 0x403d15
xor eax, eax
cmp ebx, 0x20
jb 0x403c92
movdqa xmm0, xmmword [0x579dc0]
movdqa xmm1, xmmword [0x579dd0]
movdqa xmm2, xmmword [0x579de0]
mov edx, dword [esp + 0x1c]
mov eax, ebx
xor ecx, ecx
and eax, 0x7fffffe0
nop dword [eax]
movdqu xmm4, xmmword [edx + ecx]
movdqu xmm3, xmmword [edx + ecx + 0x10]
movdqa xmm5, xmm4
movdqa xmm6, xmm3
paddb xmm5, xmm0
paddb xmm6, xmm0
movdqa xmm7, xmm5
pminub xmm7, xmm1
pcmpeqb xmm7, xmm5
movdqa xmm5, xmm6
pminub xmm5, xmm1
pand xmm7, xmm2
pcmpeqb xmm5, xmm6
por xmm7, xmm4
pand xmm5, xmm2
movdqu xmmword [edx + ecx], xmm7
por xmm5, xmm3
movdqu xmmword [edx + ecx + 0x10], xmm5
add ecx, 0x20
cmp eax, ecx
jne 0x403c30
cmp ebx, eax
je 0x403d3a
test bl, 0x18
je 0x403d11
movdqa xmm0, xmmword [0x579df0]
movdqa xmm1, xmmword [0x579e00]
movdqa xmm2, xmmword [0x579e10]
mov esi, dword [esp + 0x1c]
mov edx, ebx
and edx, 0x7ffffff8
lea ecx, [edi + edx]
nop dword [eax]
movq xmm3, qword [esi + eax]
movdqa xmm4, xmm3
paddb xmm4, xmm0
movdqa xmm5, xmm4
pmaxub xmm5, xmm1
pcmpeqb xmm5, xmm4
pandn xmm5, xmm2
por xmm5, xmm3
movq qword [esi + eax], xmm5
add eax, 8
cmp edx, eax
jne 0x403cc0
cmp ebx, edx
jne 0x403d15
jmp 0x403d3a
push 1
push eax
push edi
call fcn.0040cd20
add esp, 0xc
test ebx, ebx
jne 0x403bc2
mov dword [esp + 0x20], 0
jmp 0x403d42
add eax, edi
mov ecx, eax
add edi, ebx
nop word [eax + eax]
movzx eax, byte [ecx]
mov edx, eax
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, al
mov byte [ecx], dl
inc ecx
cmp ecx, edi
jne 0x403d20
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x20], ebx
mov ecx, dword [esp + 4]
test ebx, ebx
mov dword [esp + 0x1c], esi
je 0x403d5a
push 1
push ebx
push ecx
call fcn.0040cd20
add esp, 0xc
mov ebx, dword [esp + 0x74]
lea esi, [esp + 0x68]
test ebx, ebx
je 0x404ca5
mov edx, dword [esp + 0x68]
mov dword [esp + 0x28], 0
movdqa xmm0, xmmword [edx]
lea edi, [edx + 0x10]
pmovmskb eax, xmm0
not eax
test ax, ax
mov dword [esp + 0x24], edi
je 0x403da0
lea ecx, [eax - 1]
and ecx, eax
mov dword [esp + 0x2c], ecx
jmp 0x403ddd
mov ecx, dword [esp + 0x24]
nop word cs:[eax + eax]
nop
movdqa xmm0, xmmword [ecx]
add edx, 0xfffff100
add ecx, 0x10
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x403db0
mov edi, 0xfffffffe
mov dword [esp + 0x24], ecx
sub edi, eax
not eax
mov esi, eax
and esi, edi
mov dword [esp + 0x2c], esi
tzcnt eax, eax
dec ebx
mov dword [esp + 0x44], edx
neg eax
imul eax, eax, 0xf0
lea eax, [edx + eax - 0xe8]
push eax
call fcn.0041b550
add esp, 4
push edx
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004aae60
add esp, 0xc
mov edi, dword [esp + 0x14]
test edi, edi
js 0x404f86
mov esi, dword [esp + 0x10]
mov dword [esp + 4], edi
mov dword [esp + 0x40], ebx
je 0x403f80
mov eax, dword [0x59fb24]
mov dword [esp + 8], esi
movzx eax, byte [eax]
push 1
push edi
call fcn.0040cd10
add esp, 8
test eax, eax
je 0x404f92
mov esi, eax
mov ebx, eax
push edi
push dword [esp + 0xc]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movdqa xmm5, xmmword [0x579df0]
movdqa xmm6, xmmword [0x579e00]
movdqa xmm7, xmmword [0x579e10]
cmp edi, 8
mov ecx, esi
mov edx, edi
jb 0x403fb0
xor eax, eax
cmp edx, 0x20
jb 0x403f2e
movdqa xmm5, xmmword [0x579dc0]
movdqa xmm6, xmmword [0x579dd0]
movdqa xmm7, xmmword [0x579de0]
mov eax, edx
xor ecx, ecx
and eax, 0x7fffffe0
nop dword [eax]
movdqu xmm1, xmmword [ebx + ecx]
movdqu xmm0, xmmword [ebx + ecx + 0x10]
movdqa xmm2, xmm1
movdqa xmm3, xmm0
paddb xmm2, xmm5
paddb xmm3, xmm5
movdqa xmm4, xmm2
pminub xmm4, xmm6
pcmpeqb xmm4, xmm2
movdqa xmm2, xmm3
pminub xmm2, xmm6
pand xmm4, xmm7
pcmpeqb xmm2, xmm3
por xmm4, xmm1
pand xmm2, xmm7
movdqu xmmword [ebx + ecx], xmm4
por xmm2, xmm0
movdqu xmmword [ebx + ecx + 0x10], xmm2
add ecx, 0x20
cmp eax, ecx
jne 0x403eb0
cmp edx, eax
je 0x403fda
test dl, 0x18
je 0x403faa
movdqa xmm5, xmmword [0x579df0]
movdqa xmm6, xmmword [0x579e00]
movdqa xmm7, xmmword [0x579e10]
and edx, 0x7ffffff8
lea ecx, [esi + edx]
nop word [eax + eax]
movq xmm0, qword [ebx + eax]
movdqa xmm1, xmm0
paddb xmm1, xmm5
movdqa xmm2, xmm1
pmaxub xmm2, xmm6
pcmpeqb xmm2, xmm1
pandn xmm2, xmm7
por xmm2, xmm0
movq qword [ebx + eax], xmm2
add eax, 8
cmp edx, eax
jne 0x403f40
mov eax, dword [esp + 4]
cmp eax, edx
mov edx, eax
jne 0x403fb0
jmp 0x403fda
push edi
push esi
push 1
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ebx, 1
mov eax, dword [esp + 0xc]
test eax, 0x7fffffff
je 0x403fe9
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
jmp 0x403fe9
add eax, esi
mov ecx, eax
nop
add esi, edx
nop word cs:[eax + eax]
nop dword [eax]
movzx eax, byte [ecx]
mov edx, eax
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, al
mov byte [ecx], dl
inc ecx
cmp ecx, esi
jne 0x403fc0
mov esi, dword [esp + 8]
mov eax, dword [esp + 0xc]
test eax, 0x7fffffff
jne 0x403f9c
mov eax, dword [esp + 0x20]
mov dword [esp + 8], ebx
cmp dword [esp + 4], eax
jne 0x404020
push eax
push dword [esp + 0x20]
push ebx
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x404020
cmp dword [esp + 0x28], 0
mov dword [esp + 0x28], 1
jg 0x404de5
nop dword [eax]
push 0xc
push 0x579ed1
push 0x21
push 0x579eb0
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x40406b
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x579efa
push 0x1d
push 0x579edd
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4040be
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x579f22
push 0x1c
push 0x579f06
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404111
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x579f50
push 0x22
push 0x579f2e
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404164
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x579f78
push 0x1c
push 0x579f5c
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4041b7
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x579f9f
push 0x1b
push 0x579f84
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x40420a
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x579fc4
push 0x19
push 0x579fab
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x40425d
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x579fee
push 0x1e
push 0x579fd0
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4042b0
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a013
push 0x19
push 0x579ffa
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404303
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a03a
push 0x1b
push 0x57a01f
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404356
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a060
push 0x1a
push 0x57a046
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4043a9
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a086
push 0x1a
push 0x57a06c
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4043fc
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a0a9
push 0x17
push 0x57a092
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x40444f
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push str.VV_
push 0x18
push 0x57a0b5
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4044a2
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a0f1
push 0x18
push 0x57a0d9
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4044f5
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a115
push 0x18
push 0x57a0fd
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404548
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a13a
push 0x19
push 0x57a121
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x40459b
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a160
push 0x1a
push 0x57a146
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4045ee
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a186
push 0x1a
push 0x57a16c
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404641
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a1ac
push 0x1a
push 0x57a192
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404694
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a1d2
push 0x1a
push 0x57a1b8
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4046e7
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a202
push 0x24
push 0x57a1de
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x40473a
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a229
push 0x1b
push 0x57a20e
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x40478d
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a24f
push 0x1a
push 0x57a235
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4047e0
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a279
push 0x1e
push 0x57a25b
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404833
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a2a4
push 0x1f
push 0x57a285
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404886
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a2cb
push 0x1b
push 0x57a2b0
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4048d9
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a2f2
push 0x1b
push 0x57a2d7
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x40492c
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a319
push 0x1b
push 0x57a2fe
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x40497f
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a33f
push 0x1a
push 0x57a325
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4049d2
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a36a
push 0x1f
push 0x57a34b
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404a25
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a38f
push 0x19
push 0x57a376
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404a78
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a3b7
push 0x1c
push 0x57a39b
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404acb
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a3de
push 0x1b
push 0x57a3c3
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404b1e
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a408
push 0x1e
push 0x57a3ea
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404b71
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a432
push 0x1e
push 0x57a414
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404bc4
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push 0x57a45c
push 0x1e
push 0x57a43e
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404c17
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
push 0xc
push str.Yc_v3
push 0x1d
push 0x57a468
lea eax, [esp + 0x1c]
push eax
call fcn.004088a0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.004035a0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x404c6a
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
test bl, bl
jne 0x404de5
mov eax, dword [esp + 4]
test eax, eax
je 0x404c89
push 1
push eax
push dword [esp + 0x10]
call fcn.0040cd20
add esp, 0xc
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x24]
lea esi, [esp + 0x68]
mov eax, dword [esp + 0x2c]
test ebx, ebx
jne 0x403d83
mov eax, dword [esp + 0x20]
test eax, eax
je 0x404cbc
push 1
push eax
push dword [esp + 0x24]
call fcn.0040cd20
add esp, 0xc
mov eax, dword [esp + 0x30]
mov ecx, eax
neg ecx
jo 0x404cd7
jae 0x404cd7
push 1
push eax
push dword [esp + 0x3c]
call fcn.0040cd20
add esp, 0xc
push esi
call fcn.0040b9c0
add esp, 4
mov eax, dword [esp + 0x54]
mov ecx, eax
neg ecx
jo 0x404cfb
jae 0x404cfb
push 1
push eax
push dword [esp + 0x60]
call fcn.0040cd20
add esp, 0xc
lea eax, [esp + 0x48]
push eax
call fcn.0040b320
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
je 0x404d22
shl eax, 6
push 8
push eax
push dword [esp + 0x54]
call fcn.0040cd20
add esp, 0xc
cmp dword [esp + 0xa8], 0
je 0x404f7e
lea eax, [esp + 0xa8]
push eax
call fcn.00414f50
add esp, 4
mov eax, dword [esp + 0xac]
test eax, eax
je 0x404f7e
mov edx, dword [esp + 0xb4]
mov dword [esp + 8], eax
test edx, edx
je 0x404f55
mov ebx, dword [esp + 0xa8]
movdqa xmm0, xmmword [ebx]
lea esi, [ebx + 0x10]
pmovmskb edi, xmm0
not edi
jmp 0x404d90
lea eax, [edi - 1]
dec edx
and eax, edi
test edx, edx
mov edi, eax
je 0x404f55
test di, di
jne 0x404dbb
nop word cs:[eax + eax]
nop
movdqa xmm0, xmmword [esi]
add ebx, 0xffffff00
add esi, 0x10
pmovmskb edi, xmm0
cmp edi, 0xffff
je 0x404da0
not edi
tzcnt ecx, edi
mov eax, ebx
shl ecx, 4
sub eax, ecx
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x404d80
push 1
push ecx
push dword [eax - 0xc]
mov dword [esp + 0x10], edx
call fcn.0040cd20
mov edx, dword [esp + 0x10]
add esp, 0xc
jmp 0x404d80
call fcn.004f1e3c
push eax
call sub.kernel32.dll_DebugActiveProcess
test eax, eax
je 0x404e01
call sub.kernel32.dll_GetCurrentProcess
push 1
push eax
call sub.kernel32.dll_TerminateProcess
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x1c]
lea edi, [esp + 0x68]
test eax, eax
je 0x404e20
push 1
push eax
push dword [esp + 0x10]
call fcn.0040cd20
add esp, 0xc
mov eax, dword [esp + 0x20]
test eax, eax
je 0x404e34
push 1
push eax
push esi
call fcn.0040cd20
add esp, 0xc
mov eax, dword [esp + 0x30]
mov ecx, eax
neg ecx
jo 0x404e4f
jae 0x404e4f
push 1
push eax
push dword [esp + 0x3c]
call fcn.0040cd20
add esp, 0xc
push edi
call fcn.0040b9c0
add esp, 4
mov eax, dword [esp + 0x54]
mov ecx, eax
neg ecx
jo 0x404e73
jae 0x404e73
push 1
push eax
push dword [esp + 0x60]
call fcn.0040cd20
add esp, 0xc
lea eax, [esp + 0x48]
push eax
call fcn.0040b320
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
je 0x404e9a
shl eax, 6
push 8
push eax
push dword [esp + 0x54]
call fcn.0040cd20
add esp, 0xc
cmp dword [esp + 0xa8], 0
je 0x404f7e
lea eax, [esp + 0xa8]
push eax
call fcn.00414f50
add esp, 4
mov eax, dword [esp + 0xac]
test eax, eax
je 0x404f7e
mov edx, dword [esp + 0xb4]
mov dword [esp + 8], eax
test edx, edx
je 0x404f55
mov ebx, dword [esp + 0xa8]
movdqa xmm0, xmmword [ebx]
lea esi, [ebx + 0x10]
pmovmskb edi, xmm0
not edi
jmp 0x404efc
lea eax, [edi - 1]
dec edx
and eax, edi
test edx, edx
mov edi, eax
je 0x404f55
test di, di
jne 0x404f2b
nop word cs:[eax + eax]
nop dword [eax + eax]
movdqa xmm0, xmmword [esi]
add ebx, 0xffffff00
add esi, 0x10
pmovmskb edi, xmm0
cmp edi, 0xffff
je 0x404f10
not edi
tzcnt ecx, edi
mov eax, ebx
shl ecx, 4
sub eax, ecx
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x404ef0
push 1
push ecx
push dword [eax - 0xc]
mov dword [esp + 0x10], edx
call fcn.0040cd20
mov edx, dword [esp + 0x10]
add esp, 0xc
jmp 0x404ef0
mov edx, dword [esp + 8]
mov eax, edx
shl eax, 4
add edx, eax
add edx, 0x21
je 0x404f7e
mov ecx, dword [esp + 0xa8]
neg eax
lea eax, [ecx + eax - 0x10]
push 0x10
push edx
push eax
call fcn.0040cd20
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push dword [esp + 8]
push eax
call fcn.004cf340
mov eax, 1
mov dword [esp + 8], edi
push dword [esp + 8]
push eax
call fcn.004cf340
xor eax, eax
push ebx
push eax
call fcn.004cf340
push ebx
push 1
call fcn.004cf340
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
pop ebp
ret