Function at 0x10023f0
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x3008
call fcn.010032c0
mov eax, dword [0x10040ac]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0x3004], eax
mov eax, dword [eax]
xor esi, esi
cmp eax, 0xffffffff
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x2ffc], esi
jne 0x1002438
push 0x2737
push 1
call fcn.0100156c
pop ecx
pop ecx
jmp 0x10027ea
mov ebx, dword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
push 0x30
lea ecx, [ebp - 0x2ff4]
push ecx
push 2
lea ecx, [ebp - 0x2ff8]
push ecx
push 0x80002010
push edi
push esi
push esi
push esi
mov dword [ebp - 0x2ff8], esi
push eax
jmp 0x10024ac
inc dword [ebp - 0x2ff8]
cmp eax, esi
jne 0x10024f9
cmp word [ebp - 0x2ff8], 0xff
jae 0x10024b6
movzx eax, word [ebp - 0x2ff8]
push 0x30
lea eax, [eax + eax*2]
shl eax, 4
lea eax, [ebp + eax - 0x2ff4]
push eax
push 2
lea eax, [ebp - 0x2ff8]
push eax
mov eax, dword [ebp - 0x3004]
push 0x80002010
push edi
push esi
push esi
push esi
push dword [eax]
call ebx
cmp dword [edi], 0x8000001a
jne 0x1002462
mov eax, dword [ebp - 0x3004]
push esi
push esi
push esi
push esi
push 0x80002004
push edi
push esi
push esi
push esi
push dword [eax]
call ebx
cmp dword [edi], esi
je 0x1002514
push eax
lea eax, [ebp - 0x24]
push 0x1001168
push eax
call dword [sym.imp.msvcrt.dll_sprintf]
lea eax, [ebp - 0x24]
push eax
push 0x2730
push 1
call fcn.0100156c
add esp, 0x18
jmp 0x10027ea
push eax
lea eax, [ebp - 0x24]
push 0x1001168
push eax
call dword [sym.imp.msvcrt.dll_sprintf]
lea eax, [ebp - 0x24]
push eax
push 0x2732
jmp 0x10024ea
mov dword [ebp - 0x3000], esi
jmp 0x100252a
cmp eax, esi
jne 0x10027b3
inc dword [ebp - 0x3000]
mov eax, dword [ebp - 0x3004]
push 0x38
push 0x1004120
push esi
push esi
push 0x80002008
push edi
push esi
push esi
push esi
push dword [eax]
call ebx
cmp dword [edi], 0x8000001a
jne 0x100251c
movzx eax, word [ebp - 0x3000]
lea eax, [eax + eax*4]
shl eax, 2
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, esi
mov dword [ebp - 0x2ffc], eax
jne 0x1002580
push 0x2739
push esi
call fcn.0100156c
pop ecx
pop ecx
jmp 0x10027d6
mov eax, dword [ebp - 0x3004]
push esi
push esi
push esi
push esi
push 0x80002004
push edi
push esi
push esi
push esi
push dword [eax]
call ebx
cmp dword [edi], esi
je 0x10025b9
push eax
lea eax, [ebp - 0x24]
push 0x1001168
push eax
call dword [sym.imp.msvcrt.dll_sprintf]
lea eax, [ebp - 0x24]
push eax
push 0x2730
jmp 0x10027cc
mov dword [ebp - 0x2ff8], esi
jmp 0x10026ec
cmp eax, esi
jne 0x10027b3
mov eax, dword [ebp - 0x2ff8]
cmp ax, word [ebp - 0x3000]
ja 0x1002714
movzx edx, byte [0x1004120]
movzx ecx, byte [0x1004121]
shl edx, 8
add edx, ecx
movzx ecx, byte [0x1004122]
shl edx, 8
add edx, ecx
movzx ecx, byte [0x1004123]
movzx eax, ax
shl edx, 8
add edx, ecx
mov ecx, dword [ebp - 0x2ffc]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], edx
mov dword [ebp - 0x3008], esi
movzx eax, word [ebp - 0x3008]
mov dx, word [0x1004124]
lea eax, [eax + eax*2]
shl eax, 4
cmp dx, word [ebp + eax - 0x2ff4]
je 0x1002650
inc dword [ebp - 0x3008]
cmp word [ebp - 0x3008], 0xff
jb 0x100261f
jmp 0x10026a4
movzx eax, word [ebp - 0x3008]
lea eax, [eax + eax*2]
shl eax, 4
movzx edx, byte [ebp + eax - 0x2feb]
push edx
movzx edx, byte [ebp + eax - 0x2fec]
push edx
movzx edx, byte [ebp + eax - 0x2fed]
movzx eax, byte [ebp + eax - 0x2fee]
push edx
push eax
movzx eax, word [ebp - 0x2ff8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4 + 0xa]
push 0x100116c
push eax
call dword [sym.imp.msvcrt.dll_sprintf]
mov ecx, dword [ebp - 0x2ffc]
add esp, 0x18
movzx eax, word [ebp - 0x2ff8]
mov dx, word [0x1004138]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 + 4], dx
movzx eax, word [ebp - 0x2ff8]
mov dx, word [0x100413a]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 + 6], dx
movzx eax, word [ebp - 0x2ff8]
mov dx, word [0x1004124]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 + 8], dx
inc dword [ebp - 0x2ff8]
mov eax, dword [ebp - 0x3004]
push 0x38
push 0x1004120
push esi
push esi
push 0x80002008
push edi
push esi
push esi
push esi
push dword [eax]
call ebx
cmp dword [edi], 0x8000001a
jne 0x10025c4
movzx eax, word [ebp - 0x3000]
push 0x1001645
push 0x14
push eax
push dword [ebp - 0x2ffc]
call dword [sym.imp.msvcrt.dll_qsort]
mov edi, 0x272f
push edi
push esi
call fcn.0100156c
add esp, 0x18
xor ebx, ebx
cmp word [ebp - 0x3000], si
mov dword [ebp - 0x2ff8], esi
jbe 0x10027d6
cmp bx, 0x32
jbe 0x1002764
push edi
push esi
xor ebx, ebx
call fcn.0100156c
pop ecx
pop ecx
movzx eax, word [ebp - 0x2ff8]
mov ecx, dword [ebp - 0x2ffc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
movzx ecx, word [eax + 8]
push ecx
lea ecx, [eax + 0xa]
push ecx
movzx ecx, word [eax + 6]
push ecx
movzx ecx, word [eax + 4]
push ecx
push dword [eax]
push 0x10011fc
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0x18
inc dword [ebp - 0x2ff8]
mov ax, word [ebp - 0x2ff8]
inc ebx
cmp ax, word [ebp - 0x3000]
jb 0x1002753
jmp 0x10027d6
push eax
lea eax, [ebp - 0x24]
push 0x1001168
push eax
call dword [sym.imp.msvcrt.dll_sprintf]
lea eax, [ebp - 0x24]
push eax
push 0x2731
push 1
call fcn.0100156c
add esp, 0x18
cmp dword [ebp - 0x2ffc], esi
je 0x10027ea
push dword [ebp - 0x2ffc]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x100410c]
cmp eax, 0xffffffff
mov edi, dword [sym.imp.ntdll.dll_NtClose]
je 0x10027fd
push eax
call edi
mov eax, dword [0x1004110]
cmp eax, 0xffffffff
je 0x100280a
push eax
call edi
mov eax, dword [0x1004108]
cmp eax, 0xffffffff
je 0x1002817
push eax
call edi
push esi
call dword [sym.imp.msvcrt.dll_exit]
int3