Function at 0x403bd0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xe0
lea esi, [esp + 0x50]
push esi
call fcn.0040e300
add esp, 4
push esi
call fcn.0040e630
add esp, 4
lea eax, [esp + 8]
push eax
call fcn.00485320
add esp, 4
cmp dword [esp + 8], 0x80000000
jne 0x403c53
cmp byte [esp + 0xc], 3
mov dword [esp + 0x30], 0x80000000
jne 0x403c6b
mov esi, dword [esp + 0x10]
mov ebx, dword [esi + 4]
mov edi, dword [esi]
mov eax, dword [ebx]
test eax, eax
je 0x403c30
push edi
call eax
add esp, 4
mov eax, dword [ebx + 4]
test eax, eax
je 0x403c44
push dword [ebx + 8]
push eax
push edi
call fcn.0040d1e0
add esp, 0xc
push 4
push 0xc
push esi
call fcn.0040d1e0
add esp, 0xc
jmp 0x403c6b
movq xmm0, qword [esp + 8]
movq xmm1, qword [esp + 0x10]
movq qword [esp + 0x38], xmm1
movq qword [esp + 0x30], xmm0
xor ebx, ebx
cmp dword [esp + 0x30], 0x80000000
mov al, 1
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], eax
je 0x403e6b
lea eax, [esp + 0x30]
push eax
call fcn.004ab220
add esp, 4
push edx
push eax
call fcn.00494240
add esp, 8
test eax, eax
je 0x403e6b
push edx
push eax
lea eax, [esp + 0x10]
push eax
call fcn.004ab7f0
add esp, 0xc
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
test ebx, ebx
je 0x403ce8
js 0x40510f
mov eax, dword [0x55bd94]
movzx eax, byte [eax]
push 1
push ebx
call fcn.0040d1d0
add esp, 8
test eax, eax
je 0x405118
mov esi, eax
jmp 0x403ced
mov esi, 1
push ebx
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
test eax, 0x7fffffff
jne 0x403e4d
test ebx, ebx
je 0x403e61
mov eax, dword [0x55bd94]
mov dword [esp], esi
movzx eax, byte [eax]
push 1
push ebx
call fcn.0040d1d0
add esp, 8
test eax, eax
je 0x405124
mov edi, eax
mov esi, eax
push ebx
push dword [esp + 4]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp ebx, 8
mov ecx, edi
mov dword [esp + 0x1c], edi
jb 0x404f19
xor eax, eax
cmp ebx, 0x20
jb 0x403de3
movdqa xmm0, xmmword [0x5355b0]
movdqa xmm1, xmmword [0x5355c0]
movdqa xmm2, xmmword [0x5355d0]
mov eax, ebx
lea ecx, [edi + 0x10]
and eax, 0xffffffe0
mov edx, eax
nop dword [eax + eax]
movdqu xmm4, xmmword [ecx - 0x10]
movdqu xmm3, xmmword [ecx]
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 [ecx - 0x10], xmm7
por xmm5, xmm3
movdqu xmmword [ecx], xmm5
add ecx, 0x20
add edx, 0xffffffe0
jne 0x403d80
cmp ebx, eax
je 0x404f3a
test bl, 0x18
je 0x404f15
movdqa xmm0, xmmword [0x5355e0]
movdqa xmm1, xmmword [0x5355f0]
movdqa xmm2, xmmword [0x535600]
mov edx, ebx
mov dword [esp + 0x18], ebx
lea ebx, [edi + eax]
and edx, 0xfffffff8
lea ecx, [edi + edx]
sub eax, edx
nop dword [eax]
movq xmm3, qword [ebx]
movdqa xmm4, xmm3
paddb xmm4, xmm0
movdqa xmm5, xmm4
pmaxub xmm5, xmm1
pcmpeqb xmm5, xmm4
pandn xmm5, xmm2
por xmm5, xmm3
movq qword [ebx], xmm5
add ebx, 8
add eax, 8
jne 0x403e10
mov ebx, dword [esp + 0x18]
cmp ebx, edx
jne 0x404f19
jmp 0x404f3a
push 1
push eax
push edi
call fcn.0040d1e0
add esp, 0xc
test ebx, ebx
jne 0x403d0f
mov dword [esp + 0x1c], 1
xor ebx, ebx
mov edx, dword [esp + 0x7c]
test edx, edx
je 0x404f5d
mov esi, dword [esp + 0x70]
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], ebx
movdqa xmm0, xmmword [esi]
lea edi, [esi + 0x10]
pmovmskb eax, xmm0
not eax
test ax, ax
mov dword [esp + 0x4c], edx
je 0x403eb0
lea ecx, [eax - 1]
and ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x403ed9
movdqa xmm0, xmmword [edi]
add esi, 0xfffff100
add edi, 0x10
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x403eb0
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov edx, eax
and edx, ecx
mov dword [esp + 0x28], edx
tzcnt eax, eax
neg eax
imul eax, eax, 0xf0
lea eax, [esi + eax - 0xe8]
push eax
call fcn.0040f0f0
add esp, 4
push edx
push eax
lea eax, [esp + 0x10]
push eax
call fcn.004ab7f0
add esp, 0xc
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48], esi
test ebx, ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 4], ebx
je 0x404080
js 0x405104
mov eax, dword [0x55bd94]
mov dword [esp + 0x44], edi
movzx eax, byte [eax]
push 1
push ebx
call fcn.0040d1d0
add esp, 8
test eax, eax
je 0x4050f3
mov esi, eax
mov edi, eax
push ebx
push dword [esp + 0x30]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movdqa xmm5, xmmword [0x5355e0]
movdqa xmm6, xmmword [0x5355f0]
movdqa xmm7, xmmword [0x535600]
mov edi, dword [esp + 0x44]
cmp ebx, 8
mov ecx, esi
mov dword [esp], esi
jb 0x404090
xor eax, eax
cmp ebx, 0x20
jb 0x404027
movdqa xmm5, xmmword [0x5355b0]
movdqa xmm6, xmmword [0x5355c0]
movdqa xmm7, xmmword [0x5355d0]
mov eax, ebx
lea ecx, [esi + 0x10]
and eax, 0x7fffffe0
mov edx, eax
movdqu xmm1, xmmword [ecx - 0x10]
movdqu xmm0, xmmword [ecx]
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 [ecx - 0x10], xmm4
por xmm2, xmm0
movdqu xmmword [ecx], xmm2
add ecx, 0x20
add edx, 0xffffffe0
jne 0x403fb0
movdqa xmm5, xmmword [0x5355e0]
movdqa xmm6, xmmword [0x5355f0]
movdqa xmm7, xmmword [0x535600]
cmp ebx, eax
je 0x4040ba
test bl, 0x18
je 0x404089
mov edx, ebx
lea ebx, [esi + eax]
and edx, 0x7ffffff8
lea ecx, [esi + edx]
sub eax, edx
nop word [eax + eax]
movq xmm0, qword [ebx]
movdqa xmm1, xmm0
paddb xmm1, xmm5
movdqa xmm2, xmm1
pmaxub xmm2, xmm6
pcmpeqb xmm2, xmm1
pandn xmm2, xmm7
por xmm2, xmm0
movq qword [ebx], xmm2
add ebx, 8
add eax, 8
jne 0x404040
mov ebx, dword [esp + 4]
cmp ebx, edx
jne 0x404090
jmp 0x4040ba
mov dword [esp], 1
jmp 0x4040ba
add eax, esi
mov ecx, eax
nop dword [eax]
add esi, ebx
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 0x4040a0
mov eax, dword [esp + 8]
test eax, 0x7fffffff
jne 0x4040d0
mov eax, dword [esp + 0x18]
cmp ebx, eax
je 0x4040e7
jmp 0x404110
push 1
push eax
push dword [esp + 0x34]
call fcn.0040d1e0
add esp, 0xc
mov eax, dword [esp + 0x18]
cmp ebx, eax
jne 0x404110
push eax
push dword [esp + 0x20]
push dword [esp + 8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x404110
cmp dword [esp + 0x24], 0
mov dword [esp + 0x24], 1
jg 0x4050d5
nop
push 0xc
push 0x5356c1
push 0x21
push 0x5356a0
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push ebx
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404158
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x5356ea
push 0x1d
push 0x5356cd
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x4041ab
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535712
push 0x1c
push 0x5356f6
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x4041fe
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535740
push 0x22
push 0x53571e
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404251
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535768
push 0x1c
push 0x53574c
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x4042a4
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x53578f
push 0x1b
push 0x535774
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x4042f7
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x5357b4
push 0x19
push 0x53579b
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x40434a
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x5357de
push 0x1e
push 0x5357c0
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x40439d
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535803
push 0x19
push 0x5357ea
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x4043f0
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x53582a
push 0x1b
push 0x53580f
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404443
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535850
push 0x1a
push 0x535836
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404496
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535876
push 0x1a
push 0x53585c
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x4044e9
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535899
push 0x17
push 0x535882
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x40453c
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x5358bd
push 0x18
push 0x5358a5
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x40458f
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x5358e1
push 0x18
push 0x5358c9
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x4045e2
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535905
push 0x18
push 0x5358ed
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404635
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x53592a
push 0x19
push 0x535911
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404688
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535950
push 0x1a
push 0x535936
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x4046db
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535976
push 0x1a
push 0x53595c
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x40472e
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x53599c
push 0x1a
push 0x535982
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404781
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x5359c2
push 0x1a
push 0x5359a8
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x4047d4
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x5359f2
push 0x24
push 0x5359ce
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404827
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535a19
push 0x1b
push 0x5359fe
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x40487a
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535a3f
push 0x1a
push 0x535a25
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x4048cd
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535a69
push 0x1e
push 0x535a4b
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404920
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push str.f8_t
push 0x1f
push 0x535a75
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404973
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535abb
push 0x1b
push 0x535aa0
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x4049c6
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535ae2
push 0x1b
push 0x535ac7
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404a19
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535b09
push 0x1b
push 0x535aee
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404a6c
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535b2f
push 0x1a
push 0x535b15
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404abf
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535b5a
push 0x1f
push 0x535b3b
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404b12
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535b7f
push 0x19
push 0x535b66
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404b65
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535ba7
push 0x1c
push 0x535b8b
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404bb8
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535bce
push 0x1b
push 0x535bb3
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404c0b
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535bf8
push 0x1e
push 0x535bda
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404c5e
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535c22
push 0x1e
push 0x535c04
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404cb1
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535c4c
push 0x1e
push 0x535c2e
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404d04
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
push 0xc
push 0x535c75
push 0x1d
push 0x535c58
lea eax, [esp + 0x18]
push eax
call fcn.0040afd0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
call fcn.004035e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x404d57
push 1
push eax
push esi
call fcn.0040d1e0
add esp, 0xc
test bl, bl
jne 0x404d8e
mov eax, dword [esp + 4]
test eax, eax
je 0x404d72
push 1
push eax
push dword [esp + 8]
call fcn.0040d1e0
add esp, 0xc
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x28]
dec edx
jne 0x403e94
jmp 0x404f5d
call fcn.004f2da4
push eax
call sub.kernel32.dll_DebugActiveProcess
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 4]
test eax, eax
je 0x404db2
call sub.kernel32.dll_GetCurrentProcess
push 1
push eax
call sub.kernel32.dll_TerminateProcess
test esi, esi
je 0x404dc5
push 1
push esi
push dword [esp + 8]
call fcn.0040d1e0
add esp, 0xc
cmp byte [esp + 0x20], 0
jne 0x404ddb
push 1
push edi
push dword [esp + 0x24]
call fcn.0040d1e0
add esp, 0xc
mov eax, dword [esp + 0x30]
cmp eax, 0x80000000
je 0x404df9
test eax, eax
je 0x404df9
push 1
push eax
push dword [esp + 0x3c]
call fcn.0040d1e0
add esp, 0xc
lea eax, [esp + 0x70]
push eax
call fcn.0040bc00
add esp, 4
mov eax, dword [esp + 0x5c]
cmp eax, 0x80000000
je 0x404e24
test eax, eax
je 0x404e24
push 1
push eax
push dword [esp + 0x68]
call fcn.0040d1e0
add esp, 0xc
lea eax, [esp + 0x50]
push eax
call fcn.00409410
add esp, 4
mov eax, dword [esp + 0x50]
test eax, eax
je 0x404e4b
shl eax, 6
push 8
push eax
push dword [esp + 0x5c]
call fcn.0040d1e0
add esp, 0xc
cmp dword [esp + 0xb0], 0
je 0x4050cd
lea eax, [esp + 0xb0]
push eax
call fcn.00416ae0
add esp, 4
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x4050cd
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], eax
test edx, edx
je 0x4050a5
mov ebx, dword [esp + 0xb0]
movdqa xmm0, xmmword [ebx]
lea esi, [ebx + 0x10]
pmovmskb edi, xmm0
not edi
jmp 0x404ec0
lea eax, [edi - 1]
dec edx
and eax, edi
test edx, edx
mov edi, eax
je 0x4050a5
test di, di
jne 0x404eeb
nop word cs:[eax + eax]
nop
movdqa xmm0, xmmword [esi]
add ebx, 0xffffff00
add esi, 0x10
pmovmskb edi, xmm0
cmp edi, 0xffff
je 0x404ed0
not edi
tzcnt ecx, edi
mov eax, ebx
shl ecx, 4
sub eax, ecx
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x404eb0
push 1
push ecx
push dword [eax - 0xc]
mov dword [esp + 0xc], edx
call fcn.0040d1e0
mov edx, dword [esp + 0xc]
add esp, 0xc
jmp 0x404eb0
add eax, edi
mov ecx, eax
add edi, ebx
nop dword [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 0x404f20
push 1
push ebx
push dword [esp + 8]
call fcn.0040d1e0
add esp, 0xc
mov dword [esp + 0x20], 0
mov edx, dword [esp + 0x7c]
test edx, edx
jne 0x403e77
cmp byte [esp + 0x20], 0
jne 0x404f73
push 1
push ebx
push dword [esp + 0x24]
call fcn.0040d1e0
add esp, 0xc
mov eax, dword [esp + 0x30]
cmp eax, 0x80000000
je 0x404f91
test eax, eax
je 0x404f91
push 1
push eax
push dword [esp + 0x3c]
call fcn.0040d1e0
add esp, 0xc
lea eax, [esp + 0x70]
push eax
call fcn.0040bc00
add esp, 4
mov eax, dword [esp + 0x5c]
cmp eax, 0x80000000
je 0x404fbc
test eax, eax
je 0x404fbc
push 1
push eax
push dword [esp + 0x68]
call fcn.0040d1e0
add esp, 0xc
lea eax, [esp + 0x50]
push eax
call fcn.00409410
add esp, 4
mov eax, dword [esp + 0x50]
test eax, eax
je 0x404fe3
shl eax, 6
push 8
push eax
push dword [esp + 0x5c]
call fcn.0040d1e0
add esp, 0xc
cmp dword [esp + 0xb0], 0
je 0x4050cd
lea eax, [esp + 0xb0]
push eax
call fcn.00416ae0
add esp, 4
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x4050cd
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], eax
test edx, edx
je 0x4050a5
mov ebx, dword [esp + 0xb0]
movdqa xmm0, xmmword [ebx]
lea esi, [ebx + 0x10]
pmovmskb edi, xmm0
not edi
jmp 0x40504c
lea eax, [edi - 1]
dec edx
and eax, edi
test edx, edx
mov edi, eax
je 0x4050a5
test di, di
jne 0x40507b
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 0x405060
not edi
tzcnt ecx, edi
mov eax, ebx
shl ecx, 4
sub eax, ecx
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x405040
push 1
push ecx
push dword [eax - 0xc]
mov dword [esp + 0xc], edx
call fcn.0040d1e0
mov edx, dword [esp + 0xc]
add esp, 0xc
jmp 0x405040
mov edx, dword [esp + 4]
mov eax, edx
shl eax, 4
add edx, eax
add edx, 0x21
je 0x4050cd
mov ecx, dword [esp + 0xb0]
sub ecx, eax
add ecx, 0xfffffff0
push 0x10
push edx
push ecx
call fcn.0040d1e0
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004f2da4
push eax
call sub.kernel32.dll_DebugActiveProcess
mov edi, dword [esp + 0x18]
test eax, eax
mov esi, edi
jne 0x404da5
jmp 0x404db2
mov eax, 1
mov dword [esp], ebx
push dword [esp]
push eax
call fcn.004d09f0
xor eax, eax
push dword [esp]
push eax
call fcn.004d09f0
xor eax, eax
push ebx
push eax
call fcn.004d09f0
mov eax, 1
push ebx
push eax
call fcn.004d09f0
push ebx
push 1
call fcn.004d09f0
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