Function at 0x28a97d4
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
push esi
push edi
mov edi, ecx
xor esi, esi
mov ebx, edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1c], esi
mov ecx, dword [edi + 8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], esi
test ecx, ecx
jne 0x28a980f
xor eax, eax
jmp 0x28aa327
test ebx, ebx
jne 0x28a9848
push 0x65
pop edx
mov dword [esp + 0x14], edx
sub edx, 0x5f
je 0x28a9b2b
dec edx
dec edx
je 0x28a9b1a
sub edx, 4
jne 0x28aa1aa
mov ebx, dword [ebp + 8]
push ebx
push esi
push 0x3b
pop edx
call fcn.02899192
pop ecx
pop ecx
jmp 0x28a9bcd
movzx edx, byte [ebx]
mov dword [esp + 0x14], edx
cmp edx, 0x77
jg 0x28a9b7b
je 0x28a9b53
cmp edx, 0x4a
jg 0x28a9a64
je 0x28a99f9
cmp edx, 0x3d
jg 0x28a99be
je 0x28a995c
sub edx, 0x13
je 0x28a9b2b
dec edx
je 0x28a9b6a
sub edx, 0x11
je 0x28a98fd
sub edx, 0x13
jne 0x28aa1aa
cmp dword [edi + 0x7c], esi
jne 0x28a98b1
push 0x4ab730
push edi
call fcn.02884527
pop ecx
pop ecx
jmp 0x28a9808
cmp byte [ebx + 1], 2
jne 0x28a98c2
mov ecx, edi
call fcn.028b17a3
mov ecx, dword [esp + 0xc]
mov al, byte [ebx + 1]
push esi
cmp al, 4
jne 0x28a98e1
push dword [ebx + 8]
push esi
push 4
push esi
push 0x37
pop edx
call fcn.02899258
add esp, 0x14
jmp 0x28aa310
push esi
push dword [ebx + 8]
movsx eax, al
mov edx, 0x713
push eax
mov ecx, edi
call fcn.028b17b0
add esp, 0x10
jmp 0x28aa310
mov esi, dword [ebp + 8]
mov ecx, edi
mov edx, dword [ebx + 0xc]
push esi
call fcn.028a97d4
mov dword [esp + 0x20], eax
pop ecx
cmp eax, esi
je 0x28a9928
mov ecx, dword [esp + 0xc]
push esi
push eax
push 0x41
pop edx
call fcn.02899192
pop ecx
pop ecx
mov dword [esp + 0x1c], esi
mov ecx, dword [ebx + 8]
xor edx, edx
call fcn.028ae7b0
mov ecx, dword [esp + 0xc]
movsx eax, al
push eax
push esi
push 0x49
pop edx
call fcn.02899192
mov edx, dword [esp + 0x24]
mov ecx, edi
push 1
call fcn.028a96ff
mov eax, dword [esp + 0x28]
add esp, 0xc
jmp 0x28aa327
mov eax, dword [ebx + 0x2c]
mov edx, 0x90
mov esi, dword [ebp + 8]
mov dword [esp + 0x30], eax
push esi
movsx ecx, word [eax + 0x2a]
movsx eax, word [ebx + 0x20]
inc ecx
imul ecx, dword [ebx + 0x1c]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x10]
push eax
call fcn.02899192
movzx eax, word [ebx + 0x20]
pop ecx
pop ecx
test ax, ax
js 0x28aa310
movsx ecx, ax
mov eax, dword [esp + 0x30]
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0xd], 0x45
jne 0x28aa310
mov ecx, dword [esp + 0xc]
push esi
push 0x48
pop edx
call fcn.0289917e
jmp 0x28a9b4d
cmp edx, 0x46
jl 0x28aa1aa
cmp edx, 0x47
jle 0x28a9a8d
cmp edx, 0x48
je 0x28a9cc6
cmp edx, 0x49
jne 0x28aa1aa
push esi
push esi
mov esi, dword [ebp + 8]
mov edx, ebx
push esi
mov ecx, edi
call fcn.028aa6a4
add esp, 0xc
jmp 0x28a9c1f
call fcn.0289935e
mov ecx, dword [esp + 0xc]
mov esi, eax
call fcn.0289935e
push dword [ebp + 8]
mov ecx, dword [esp + 0x10]
mov edi, eax
push 0
push 0x3b
pop edx
call fcn.02899192
mov ecx, dword [esp + 0x2c]
mov edx, ebx
push edi
push esi
call fcn.028a8d9b
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x1c]
push ebx
push 1
push 0x38
pop edx
call fcn.02899192
mov edx, esi
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.028993a0
push 0
push ebx
push 0x45
pop edx
call fcn.02899192
add esp, 0x20
mov edx, edi
mov ecx, esi
call fcn.028993a0
jmp 0x28a9bcd
cmp edx, 0x5e
jg 0x28a981a
je 0x28aa149
cmp edx, 0x4c
jle 0x28a9ac9
cmp edx, 0x52
jle 0x28a9cde
lea eax, [edx - 0x54]
cmp eax, 9
ja 0x28aa1aa
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x10]
push eax
mov ecx, edi
call fcn.028aa42e
mov edx, dword [ebx + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
call fcn.028aa42e
mov edx, dword [esp + 0x18]
pop ecx
push dword [ebp + 8]
push esi
push eax
mov ecx, dword [esp + 0x18]
call fcn.0289910e
add esp, 0xc
jmp 0x28aa310
push dword [ebp + 8]
push 1
push 0x38
pop edx
call fcn.02899192
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call fcn.028aa42e
mov ebx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [esp + 0x14]
mov ecx, ebx
push eax
call fcn.0289917e
pop ecx
push dword [ebp + 8]
mov ecx, ebx
mov esi, eax
push 0
push 0x38
pop edx
call fcn.02899192
pop ecx
pop ecx
mov edx, esi
mov ecx, ebx
call fcn.02899643
jmp 0x28aa310
push dword [ebx + 8]
mov edx, dword [ebp + 8]
call fcn.028991b8
pop ecx
jmp 0x28aa324
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x10]
push eax
mov ecx, edi
call fcn.028aa42e
mov edx, dword [esp + 0x18]
pop ecx
push dword [ebp + 8]
mov ecx, dword [esp + 0x10]
push eax
call fcn.02899192
pop ecx
pop ecx
jmp 0x28aa310
mov eax, dword [ebx + 0x14]
mov eax, dword [eax]
cmp dword [eax], 1
je 0x28a9b6a
mov edx, dword [eax]
mov ecx, edi
push 1
call fcn.028a8868
jmp 0x28a9b4d
push esi
push esi
mov edx, ebx
mov ecx, edi
call fcn.028a88aa
pop ecx
jmp 0x28a9e1b
lea eax, [edx - 0x84]
cmp eax, 0x1e
ja 0x28aa1aa
movzx eax, byte [eax + 0x44af70]
jmp dword [eax*4 + 0x44af30]
mov eax, ebx
jmp 0x28aa327
mov eax, esi
jmp 0x28aa327
xor eax, eax
mov esi, 0x80
cmp edx, 0x48
mov dword [esp + 0x1c], esi
sete al
lea edx, [eax + 0x4d]
mov dword [esp + 0x14], edx
mov eax, dword [ebx + 0xc]
mov ecx, eax
mov dword [esp + 0x18], eax
call fcn.028a6c26
mov ecx, edi
test eax, eax
je 0x28a9d03
push esi
push edx
push dword [ebp + 8]
mov edx, ebx
call fcn.028a6d43
jmp 0x28a9ac1
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push eax
call fcn.028aa42e
mov edx, dword [ebx + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
call fcn.028aa42e
mov edx, dword [esp + 0x1c]
pop ecx
mov ecx, dword [esp + 0x1c]
or ecx, 0x20
push ecx
push dword [ebp + 8]
mov ecx, edi
push eax
push esi
push dword [esp + 0x24]
push dword [ebx + 0x10]
call fcn.028a6bc9
add esp, 0x18
jmp 0x28aa310
pop ecx
jmp 0x28aa327
push dword [ebp + 8]
mov ecx, edi
call fcn.028a97d4
jmp 0x28a9e1b
mov edx, dword [ebx + 0xc]
jmp 0x28a9f22
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], esi
lea edx, [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
call fcn.0289935e
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edx
test edx, edx
je 0x28aa233
push 0xc
mov esi, edx
lea edi, [esp + 0x3c]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x10]
push eax
lea edx, [esp + 0x3c]
mov ecx, edi
call fcn.028a9749
pop ecx
mov edx, eax
lea ecx, [esp + 0x38]
call fcn.028a9736
push 0x30
xor ebx, ebx
lea eax, [esp + 0x6c]
push ebx
push eax
call fcn.028dab50
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x44]
mov dword [esp + 0x80], eax
add esp, 0xc
lea eax, [esp + 0x68]
mov byte [esp + 0x68], 0x4e
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x14]
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0xc]
lea ecx, [eax - 1]
test ecx, ecx
jle 0x28aa2d0
lea eax, [ecx - 1]
shr eax, 1
inc eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
mov ecx, edi
call fcn.028a949e
mov eax, dword [eax]
test edx, edx
je 0x28aa26a
mov dword [esp + 0x78], eax
jmp 0x28aa26e
mov dword [esp + 0x1c], eax
mov ecx, esi
call fcn.0289935e
push 0x10
mov esi, eax
push esi
push dword [esp + 0x24]
push edi
call fcn.028aa9f2
mov edx, dword [esp + 0x28]
mov ecx, edi
push ebx
mov edx, dword [edx + 0x18]
call fcn.028aa4a0
mov edx, dword [esp + 0x34]
add esp, 0x14
mov ecx, dword [esp + 0xc]
call fcn.028991a7
mov ecx, edi
call fcn.028a94a2
mov edx, esi
mov esi, dword [esp + 0xc]
mov ecx, esi
call fcn.028993a0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
add eax, 0x30
dec dword [esp + 0x30]
mov dword [esp + 0x18], eax
jne 0x28aa257
mov eax, dword [esp + 0x14]
test al, 1
je 0x28aa2f6
mov ecx, edi
call fcn.028a949e
imul edx, eax, 0x18
mov eax, dword [esp + 0x34]
push ebx
mov edx, dword [edx + eax - 0x10]
call fcn.028aa4a0
pop ecx
mov ecx, edi
call fcn.028a94a2
jmp 0x28aa305
push ebx
push 0
push 0x3b
pop edx
mov ecx, esi
call fcn.02899192
pop ecx
pop ecx
mov edx, dword [esp + 0x20]
mov ecx, esi
call fcn.028993a0
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.028ab41a
mov edx, dword [esp + 0x2c]
call fcn.028ab41a
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret