Function at 0x1000c620
Capabilities:
Execute shellcode via indirect call
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x10092400]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x10093a2c]
test eax, eax
jne 0x1000c646
xor edx, edx
mov dword [0x10093194], edx
jmp 0x1000c6ca
cmp eax, 1
jne 0x1000c658
mov edx, 0x14
mov dword [0x10093194], edx
jmp 0x1000c6ca
cmp eax, 2
jne 0x1000c66a
mov edx, 0x46
mov dword [0x10093194], edx
jmp 0x1000c6ca
cmp eax, 3
jne 0x1000c67c
mov edx, 0x5a
mov dword [0x10093194], edx
jmp 0x1000c6ca
cmp eax, 4
jne 0x1000c68e
mov edx, 0x78
mov dword [0x10093194], edx
jmp 0x1000c6ca
cmp eax, 5
jne 0x1000c6a0
mov edx, 0xc8
mov dword [0x10093194], edx
jmp 0x1000c6ca
cmp eax, 6
jne 0x1000c6b2
mov edx, 0x104
mov dword [0x10093194], edx
jmp 0x1000c6ca
cmp eax, 7
jne 0x1000c6c4
mov edx, 0x136
mov dword [0x10093194], edx
jmp 0x1000c6ca
mov edx, dword [0x10093194]
mov ecx, dword [0x10095b50]
push ebx
mov ebx, dword [0x10095cc4]
push esi
mov esi, dword [0x10095c18]
add ecx, esi
push edi
mov edi, dword [0x10095d78]
mov eax, dword [ebx + esi]
mov dword [ecx + eax], edx
mov ecx, dword [0x10095f64]
cmp dword [ecx], 1
jne 0x1000c820
mov eax, dword [0x10094ad0]
cmp eax, 1
jne 0x1000c719
imul eax, dword [ebx + esi], 0x17c
add eax, edi
mov dword [eax + esi + 0x3c], 0x3dcccccd
jmp 0x1000c75f
cmp eax, 2
jne 0x1000c731
imul eax, dword [ebx + esi], 0x17c
add eax, edi
mov dword [eax + esi + 0x3c], 0x3e4ccccd
jmp 0x1000c75f
cmp eax, 3
jne 0x1000c749
imul eax, dword [ebx + esi], 0x17c
add eax, edi
mov dword [eax + esi + 0x3c], 0x3f000000
jmp 0x1000c75f
cmp eax, 4
jne 0x1000c75f
imul eax, dword [ebx + esi], 0x17c
add eax, edi
mov dword [eax + esi + 0x3c], 0x3f400000
mov eax, dword [0x10093d5c]
cmp eax, 1
jne 0x1000c77c
imul eax, dword [ebx + esi], 0x17c
add eax, edi
mov dword [eax + esi + 0x50], 0x3dcccccd
jmp 0x1000c7c2
cmp eax, 2
jne 0x1000c794
imul eax, dword [ebx + esi], 0x17c
add eax, edi
mov dword [eax + esi + 0x50], 0x3e4ccccd
jmp 0x1000c7c2
cmp eax, 3
jne 0x1000c7ac
imul eax, dword [ebx + esi], 0x17c
add eax, edi
mov dword [eax + esi + 0x50], 0x3f000000
jmp 0x1000c7c2
cmp eax, 4
jne 0x1000c7c2
imul eax, dword [ebx + esi], 0x17c
add eax, edi
mov dword [eax + esi + 0x50], 0x3f400000
cmp dword [ecx], 1
jne 0x1000c820
imul eax, dword [ebx + esi], 0x17c
add eax, edi
cmp dword [0x10093ac4], 0
jne 0x1000c7e6
mov dword [eax + esi + 0xa0], 0
jmp 0x1000c7f1
mov dword [eax + esi + 0xa0], 0x4412c000
cmp dword [ecx], 1
jne 0x1000c820
imul eax, dword [ebx + esi], 0x17c
add eax, edi
cmp dword [0x10093b1c], 0
jne 0x1000c815
mov dword [eax + esi + 0x168], 0
jmp 0x1000c820
mov dword [eax + esi + 0x168], 0x3f800000
cmp dword [ecx], 0
je 0x1000c84f
imul eax, dword [ebx + esi], 0x17c
add eax, edi
cmp dword [0x100940ac], 0
jne 0x1000c844
mov dword [eax + esi + 0xc8], 0
jmp 0x1000c84f
mov dword [eax + esi + 0xc8], 0x43480000
cmp dword [0x10093aa8], 0
je 0x1000c884
imul edx, dword [ebx + esi], 0x45
mov eax, dword [0x10095da8]
mov cx, word [0x100931dc]
sub edx, dword [0x10095b90]
add edx, dword [0x10095eb8]
add edx, dword [0x10095cdc]
mov word [edx + eax], cx
mov ecx, dword [0x10095f64]
mov edx, dword [0x100939d4]
test edx, edx
je 0x1000c8d0
dec edx
cmp dword [ecx], 1
mov dword [0x10092db8], edx
je 0x1000c8a4
mov eax, dword [0x10095b94]
cmp dword [eax], 6
jne 0x1000c8d0
mov ecx, dword [ebx + esi]
mov eax, dword [0x10095f00]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + esi]
test edx, edx
js 0x1000c8d0
add ecx, 8
inc edx
nop word [eax + eax]
mov al, byte [0x100931b1]
lea ecx, [ecx + 2]
mov byte [ecx - 2], al
sub edx, 1
jne 0x1000c8c0
cmp dword [0x10093de8], 0
je 0x1000c9da
mov eax, dword [0x10095c34]
mov ecx, dword [eax]
mov eax, dword [0x10095c30]
sub ecx, dword [eax]
mov eax, dword [0x10095e44]
add ecx, dword [eax]
cmp byte [0x10096fe8], 0
mov eax, dword [0x10095e98]
mov ecx, dword [ecx + eax]
mov eax, dword [0x10095f34]
mov dword [eax + ecx], 0x3f800000
mov eax, dword [0x10093de8]
mov dword [eax + 0x40], 0x3f800000
jne 0x1000c9da
mov edi, dword [0x10095e6c]
lea eax, [ebp - 8]
mov ebx, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push eax
push 0x40
push 1
push edi
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 1
call esi
push 1
call esi
push 1
mov byte [edi], 0x8b
call esi
push 1
call esi
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 1
push edi
call ebx
lea eax, [ebp - 0xc]
mov byte [0x10096fe8], 1
push eax
push 0x40
push 4
push dword [0x10095d08]
call ebx
mov eax, dword [0x10095d08]
lea ecx, [ebp - 0xc]
push ecx
mov dword [eax], 0x42700000
push dword [ebp - 0xc]
push 4
push eax
call ebx
mov eax, dword [0x10093de8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
cmp eax, dword [0x10095de8]
je 0x1000c9c4
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x1000c9ce
push 0
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1000c9ce
push 0
xor ecx, ecx
call dword [0x10095eac]
mov esi, dword [0x10095c18]
mov edi, dword [0x10095d78]
call fcn.1000c350
mov eax, dword [0x10095cc4]
imul eax, dword [eax + esi], 0x17c
add esi, 0xf0
add eax, edi
add eax, esi
mov dword [0x10093e10], eax
mov eax, dword [0x10093e20]
pop edi
pop esi
pop ebx
cmp dword [eax], 0
je 0x1000ca43
mov ecx, dword [0x10093b3c]
sub ecx, dword [0x10095b90]
add ecx, dword [0x10095cdc]
mov eax, dword [0x10095da8]
mov ecx, dword [ecx + eax]
call fcn.10007310
test eax, eax
jle 0x1000ca43
mov eax, dword [0x10093e20]
mov ecx, dword [eax]
mov eax, dword [0x10095dc0]
movss xmm0, dword [eax + ecx]
movss dword [0x10093e00], xmm0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100731eb
mov esp, ebp
pop ebp
ret