Function at 0x1002824
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x8c
mov eax, dword [0x10040ac]
or dword [ebp - 0x88], 0xffffffff
push ebx
push esi
push edi
mov dword [ebp - 4], eax
call fcn.01003536
test eax, eax
je 0x100285d
push 0x2738
push 1
call fcn.0100156c
pop ecx
pop ecx
jmp 0x1002a4d
push 0x19
xor eax, eax
pop ecx
lea edi, [ebp - 0x74]
xor esi, esi
rep stosd dword es:[edi], eax
mov dword [ebp - 0x84], esi
jmp 0x1002877
inc dword [ebp - 0x84]
push dword [ebp + 8]
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.01003488
test eax, eax
je 0x1002871
movzx eax, word [ebp - 0x84]
mov dword [ebp - 0x80], eax
imul eax, eax, 0x72
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
cmp ebx, esi
mov dword [ebp - 0x8c], ebx
jne 0x10028c6
push 0x2739
push esi
call fcn.0100156c
pop ecx
pop ecx
jmp 0x1002a42
or dword [ebp - 0x88], 0xffffffff
mov dword [ebp - 0x7c], esi
jmp 0x100292b
mov esi, dword [ebp - 0x7c]
cmp si, word [ebp - 0x84]
jae 0x1002946
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x88]
call fcn.010033d1
movzx eax, si
mov ecx, eax
imul eax, eax, 0x72
imul ecx, ecx, 0x72
lea edx, [ecx + ebx]
mov cx, word [ebp - 0x78]
mov word [edx], cx
lea ecx, [ebp - 0x74]
mov esi, ecx
sub eax, esi
lea esi, [eax + ebx + 2]
mov al, byte [ecx]
mov byte [esi + ecx], al
inc ecx
test al, al
jne 0x1002915
inc dword [ebp - 0x7c]
lea edi, [edx + 0x66]
lea esi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebp + 8]
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.01003488
test eax, eax
je 0x10028d2
push 0x1001920
push 0x72
push dword [ebp - 0x80]
push ebx
call dword [sym.imp.msvcrt.dll_qsort]
add esp, 0x10
cmp dword [ebp + 8], 0xffff
jne 0x100296a
push 0x2735
jmp 0x100296f
push 0x2736
push 0
call fcn.0100156c
and dword [ebp - 0x7c], 0
cmp word [ebp - 0x84], 0
pop ecx
pop ecx
jbe 0x1002a42
mov eax, dword [ebp - 0x80]
mov esi, dword [sym.imp.msvcrt.dll_printf]
lea edi, [ebx + 0x6a]
mov dword [ebp - 0x84], eax
cmp word [ebp - 0x7c], 0x32
jbe 0x10029c5
xor eax, eax
cmp dword [ebp + 8], 0xffff
mov dword [ebp - 0x7c], eax
jne 0x10029b8
push 0x2735
jmp 0x10029bd
push 0x2736
push eax
call fcn.0100156c
pop ecx
pop ecx
lea ebx, [edi - 4]
mov dword [ebp - 0x80], 4
movzx eax, byte [ebx]
push eax
push 0x1001254
call esi
pop ecx
inc ebx
dec dword [ebp - 0x80]
pop ecx
jne 0x10029cf
push 0x1001250
call esi
pop ecx
mov ebx, edi
mov dword [ebp - 0x80], 6
movzx eax, byte [ebx]
push eax
push 0x1001254
call esi
pop ecx
inc ebx
dec dword [ebp - 0x80]
pop ecx
jne 0x10029f3
cmp dword [ebp + 8], 0xffff
jne 0x1002a1d
movzx eax, word [edi - 0x6a]
push eax
push 0x1001240
call esi
pop ecx
pop ecx
lea eax, [edi - 0x68]
push eax
push 0x1001234
call esi
add edi, 0x72
inc dword [ebp - 0x7c]
dec dword [ebp - 0x84]
pop ecx
pop ecx
jne 0x100299c
mov ebx, dword [ebp - 0x8c]
test ebx, ebx
je 0x1002a4d
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x100410c]
cmp eax, 0xffffffff
mov esi, dword [sym.imp.ntdll.dll_NtClose]
je 0x1002a60
push eax
call esi
mov eax, dword [0x1004110]
cmp eax, 0xffffffff
je 0x1002a6d
push eax
call esi
mov eax, dword [0x1004108]
cmp eax, 0xffffffff
je 0x1002a7a
push eax
call esi
push 0
call dword [sym.imp.msvcrt.dll_exit]
int3