Function at 0x10003ad0
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.1000e1a0
add esp, 4
push esi
call fcn.1000e4d0
add esp, 4
lea eax, [esp + 8]
push eax
call fcn.100851c0
add esp, 4
cmp dword [esp + 8], 0x80000000
jne 0x10003b53
cmp byte [esp + 0xc], 3
mov dword [esp + 0x30], 0x80000000
jne 0x10003b6b
mov esi, dword [esp + 0x10]
mov ebx, dword [esi + 4]
mov edi, dword [esi]
mov eax, dword [ebx]
test eax, eax
je 0x10003b30
push edi
call eax
add esp, 4
mov eax, dword [ebx + 4]
test eax, eax
je 0x10003b44
push dword [ebx + 8]
push eax
push edi
call fcn.1000d080
add esp, 0xc
push 4
push 0xc
push esi
call fcn.1000d080
add esp, 0xc
jmp 0x10003b6b
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 0x10003d6b
lea eax, [esp + 0x30]
push eax
call fcn.100ab0c0
add esp, 4
push edx
push eax
call fcn.100940e0
add esp, 8
test eax, eax
je 0x10003d6b
push edx
push eax
lea eax, [esp + 0x10]
push eax
call fcn.100ab690
add esp, 0xc
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
test ebx, ebx
je 0x10003be8
js 0x1000500f
mov eax, dword [0x10194460]
movzx eax, byte [eax]
push 1
push ebx
call fcn.1000d070
add esp, 8
test eax, eax
je 0x10005018
mov esi, eax
jmp 0x10003bed
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 0x10003d4d
test ebx, ebx
je 0x10003d61
mov eax, dword [0x10194460]
mov dword [esp], esi
movzx eax, byte [eax]
push 1
push ebx
call fcn.1000d070
add esp, 8
test eax, eax
je 0x10005024
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 0x10004e19
xor eax, eax
cmp ebx, 0x20
jb 0x10003ce3
movdqa xmm0, xmmword [0x1016ddb0]
movdqa xmm1, xmmword [0x1016ddc0]
movdqa xmm2, xmmword [0x1016ddd0]
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 0x10003c80
cmp ebx, eax
je 0x10004e3a
test bl, 0x18
je 0x10004e15
movdqa xmm0, xmmword [0x1016dde0]
movdqa xmm1, xmmword [0x1016ddf0]
movdqa xmm2, xmmword [0x1016de00]
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 0x10003d10
mov ebx, dword [esp + 0x18]
cmp ebx, edx
jne 0x10004e19
jmp 0x10004e3a
push 1
push eax
push edi
call fcn.1000d080
add esp, 0xc
test ebx, ebx
jne 0x10003c0f
mov dword [esp + 0x1c], 1
xor ebx, ebx
mov edx, dword [esp + 0x7c]
test edx, edx
je 0x10004e5d
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 0x10003db0
lea ecx, [eax - 1]
and ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x10003dd9
movdqa xmm0, xmmword [edi]
add esi, 0xfffff100
add edi, 0x10
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x10003db0
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.1000ef90
add esp, 4
push edx
push eax
lea eax, [esp + 0x10]
push eax
call fcn.100ab690
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 0x10003f80
js 0x10005004
mov eax, dword [0x10194460]
mov dword [esp + 0x44], edi
movzx eax, byte [eax]
push 1
push ebx
call fcn.1000d070
add esp, 8
test eax, eax
je 0x10004ff3
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 [0x1016dde0]
movdqa xmm6, xmmword [0x1016ddf0]
movdqa xmm7, xmmword [0x1016de00]
mov edi, dword [esp + 0x44]
cmp ebx, 8
mov ecx, esi
mov dword [esp], esi
jb 0x10003f90
xor eax, eax
cmp ebx, 0x20
jb 0x10003f27
movdqa xmm5, xmmword [0x1016ddb0]
movdqa xmm6, xmmword [0x1016ddc0]
movdqa xmm7, xmmword [0x1016ddd0]
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 0x10003eb0
movdqa xmm5, xmmword [0x1016dde0]
movdqa xmm6, xmmword [0x1016ddf0]
movdqa xmm7, xmmword [0x1016de00]
cmp ebx, eax
je 0x10003fba
test bl, 0x18
je 0x10003f89
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 0x10003f40
mov ebx, dword [esp + 4]
cmp ebx, edx
jne 0x10003f90
jmp 0x10003fba
mov dword [esp], 1
jmp 0x10003fba
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 0x10003fa0
mov eax, dword [esp + 8]
test eax, 0x7fffffff
jne 0x10003fd0
mov eax, dword [esp + 0x18]
cmp ebx, eax
je 0x10003fe7
jmp 0x10004010
push 1
push eax
push dword [esp + 0x34]
call fcn.1000d080
add esp, 0xc
mov eax, dword [esp + 0x18]
cmp ebx, eax
jne 0x10004010
push eax
push dword [esp + 0x20]
push dword [esp + 8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x10004010
cmp dword [esp + 0x24], 0
mov dword [esp + 0x24], 1
jg 0x10004fd5
nop
push 0xc
push 0x1016dec1
push 0x21
push 0x1016dea0
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
add esp, 0x14
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, esi
push ebx
push dword [esp + 4]
call fcn.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004058
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016deea
push 0x1d
push 0x1016decd
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x100040ab
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016df12
push 0x1c
push 0x1016def6
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x100040fe
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016df40
push 0x22
push 0x1016df1e
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004151
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016df68
push 0x1c
push 0x1016df4c
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x100041a4
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016df8f
push 0x1b
push 0x1016df74
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x100041f7
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016dfb4
push 0x19
push 0x1016df9b
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x1000424a
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016dfde
push 0x1e
push 0x1016dfc0
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x1000429d
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e003
push 0x19
push 0x1016dfea
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x100042f0
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e02a
push 0x1b
push 0x1016e00f
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004343
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e050
push 0x1a
push 0x1016e036
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004396
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e076
push 0x1a
push 0x1016e05c
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x100043e9
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e099
push 0x17
push 0x1016e082
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x1000443c
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e0bd
push 0x18
push 0x1016e0a5
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x1000448f
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e0e1
push 0x18
push 0x1016e0c9
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x100044e2
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e105
push 0x18
push 0x1016e0ed
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004535
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e12a
push 0x19
push 0x1016e111
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004588
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e150
push 0x1a
push 0x1016e136
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x100045db
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e176
push 0x1a
push 0x1016e15c
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x1000462e
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e19c
push 0x1a
push 0x1016e182
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004681
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e1c2
push 0x1a
push 0x1016e1a8
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x100046d4
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e1f2
push 0x24
push 0x1016e1ce
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004727
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e219
push 0x1b
push 0x1016e1fe
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x1000477a
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e23f
push 0x1a
push 0x1016e225
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x100047cd
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e269
push 0x1e
push 0x1016e24b
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004820
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e294
push 0x1f
push 0x1016e275
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004873
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e2bb
push 0x1b
push 0x1016e2a0
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x100048c6
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e2e2
push 0x1b
push 0x1016e2c7
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004919
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e309
push 0x1b
push 0x1016e2ee
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x1000496c
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e32f
push 0x1a
push 0x1016e315
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x100049bf
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e35a
push 0x1f
push 0x1016e33b
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004a12
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e37f
push 0x19
push 0x1016e366
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004a65
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e3a7
push 0x1c
push 0x1016e38b
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004ab8
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e3ce
push 0x1b
push 0x1016e3b3
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004b0b
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e3f8
push 0x1e
push 0x1016e3da
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004b5e
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e422
push 0x1e
push 0x1016e404
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004bb1
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e44c
push 0x1e
push 0x1016e42e
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004c04
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
push 0xc
push 0x1016e475
push 0x1d
push 0x1016e458
lea eax, [esp + 0x18]
push eax
call fcn.1000aeb0
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.100034e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x10004c57
push 1
push eax
push esi
call fcn.1000d080
add esp, 0xc
test bl, bl
jne 0x10004c8e
mov eax, dword [esp + 4]
test eax, eax
je 0x10004c72
push 1
push eax
push dword [esp + 8]
call fcn.1000d080
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 0x10003d94
jmp 0x10004e5d
call fcn.100f2c44
push eax
call sub.kernel32.dll_DebugActiveProcess
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 4]
test eax, eax
je 0x10004cb2
call sub.kernel32.dll_GetCurrentProcess
push 1
push eax
call sub.kernel32.dll_TerminateProcess
test esi, esi
je 0x10004cc5
push 1
push esi
push dword [esp + 8]
call fcn.1000d080
add esp, 0xc
cmp byte [esp + 0x20], 0
jne 0x10004cdb
push 1
push edi
push dword [esp + 0x24]
call fcn.1000d080
add esp, 0xc
mov eax, dword [esp + 0x30]
cmp eax, 0x80000000
je 0x10004cf9
test eax, eax
je 0x10004cf9
push 1
push eax
push dword [esp + 0x3c]
call fcn.1000d080
add esp, 0xc
lea eax, [esp + 0x70]
push eax
call fcn.1000b6f0
add esp, 4
mov eax, dword [esp + 0x5c]
cmp eax, 0x80000000
je 0x10004d24
test eax, eax
je 0x10004d24
push 1
push eax
push dword [esp + 0x68]
call fcn.1000d080
add esp, 0xc
lea eax, [esp + 0x50]
push eax
call fcn.10008910
add esp, 4
mov eax, dword [esp + 0x50]
test eax, eax
je 0x10004d4b
shl eax, 6
push 8
push eax
push dword [esp + 0x5c]
call fcn.1000d080
add esp, 0xc
cmp dword [esp + 0xb0], 0
je 0x10004fcd
lea eax, [esp + 0xb0]
push eax
call fcn.10016980
add esp, 4
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x10004fcd
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], eax
test edx, edx
je 0x10004fa5
mov ebx, dword [esp + 0xb0]
movdqa xmm0, xmmword [ebx]
lea esi, [ebx + 0x10]
pmovmskb edi, xmm0
not edi
jmp 0x10004dc0
lea eax, [edi - 1]
dec edx
and eax, edi
test edx, edx
mov edi, eax
je 0x10004fa5
test di, di
jne 0x10004deb
nop word cs:[eax + eax]
nop
movdqa xmm0, xmmword [esi]
add ebx, 0xffffff00
add esi, 0x10
pmovmskb edi, xmm0
cmp edi, 0xffff
je 0x10004dd0
not edi
tzcnt ecx, edi
mov eax, ebx
shl ecx, 4
sub eax, ecx
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x10004db0
push 1
push ecx
push dword [eax - 0xc]
mov dword [esp + 0xc], edx
call fcn.1000d080
mov edx, dword [esp + 0xc]
add esp, 0xc
jmp 0x10004db0
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 0x10004e20
push 1
push ebx
push dword [esp + 8]
call fcn.1000d080
add esp, 0xc
mov dword [esp + 0x20], 0
mov edx, dword [esp + 0x7c]
test edx, edx
jne 0x10003d77
cmp byte [esp + 0x20], 0
jne 0x10004e73
push 1
push ebx
push dword [esp + 0x24]
call fcn.1000d080
add esp, 0xc
mov eax, dword [esp + 0x30]
cmp eax, 0x80000000
je 0x10004e91
test eax, eax
je 0x10004e91
push 1
push eax
push dword [esp + 0x3c]
call fcn.1000d080
add esp, 0xc
lea eax, [esp + 0x70]
push eax
call fcn.1000b6f0
add esp, 4
mov eax, dword [esp + 0x5c]
cmp eax, 0x80000000
je 0x10004ebc
test eax, eax
je 0x10004ebc
push 1
push eax
push dword [esp + 0x68]
call fcn.1000d080
add esp, 0xc
lea eax, [esp + 0x50]
push eax
call fcn.10008910
add esp, 4
mov eax, dword [esp + 0x50]
test eax, eax
je 0x10004ee3
shl eax, 6
push 8
push eax
push dword [esp + 0x5c]
call fcn.1000d080
add esp, 0xc
cmp dword [esp + 0xb0], 0
je 0x10004fcd
lea eax, [esp + 0xb0]
push eax
call fcn.10016980
add esp, 4
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x10004fcd
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], eax
test edx, edx
je 0x10004fa5
mov ebx, dword [esp + 0xb0]
movdqa xmm0, xmmword [ebx]
lea esi, [ebx + 0x10]
pmovmskb edi, xmm0
not edi
jmp 0x10004f4c
lea eax, [edi - 1]
dec edx
and eax, edi
test edx, edx
mov edi, eax
je 0x10004fa5
test di, di
jne 0x10004f7b
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 0x10004f60
not edi
tzcnt ecx, edi
mov eax, ebx
shl ecx, 4
sub eax, ecx
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x10004f40
push 1
push ecx
push dword [eax - 0xc]
mov dword [esp + 0xc], edx
call fcn.1000d080
mov edx, dword [esp + 0xc]
add esp, 0xc
jmp 0x10004f40
mov edx, dword [esp + 4]
mov eax, edx
shl eax, 4
add edx, eax
add edx, 0x21
je 0x10004fcd
mov ecx, dword [esp + 0xb0]
sub ecx, eax
add ecx, 0xfffffff0
push 0x10
push edx
push ecx
call fcn.1000d080
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.100f2c44
push eax
call sub.kernel32.dll_DebugActiveProcess
mov edi, dword [esp + 0x18]
test eax, eax
mov esi, edi
jne 0x10004ca5
jmp 0x10004cb2
mov eax, 1
mov dword [esp], ebx
push dword [esp]
push eax
call fcn.100d0890
xor eax, eax
push dword [esp]
push eax
call fcn.100d0890
xor eax, eax
push ebx
push eax
call fcn.100d0890
mov eax, 1
push ebx
push eax
call fcn.100d0890
push ebx
push 1
call fcn.100d0890
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