Function at 0x10079396
Capabilities:
Terminate process

Disassembly:
test edx, edx
je 0x10079480
push ebp
push ebx
push edi
push esi
sub esp, 0x828
mov eax, dword [0x1020ccf4]
mov ebx, ecx
test eax, eax
jne 0x100793c7
mov ecx, 0x1020ccf4
push 0x1007b2a8
push 0x1007b2f0
call fcn.1007cd7c
mov eax, dword [0x1020ccf4]
lea edx, [esp + 0x828]
mov ebp, dword [eax + 0xa4]
lea eax, [esp + 0x428]
mov dword [eax - 0xc], eax
mov dword [eax - 8], eax
mov dword [eax - 4], edx
lea edx, [esp + 0x41c]
movzx eax, byte [ebx + 4]
lea ecx, [ebp + 0x48]
push eax
call fcn.1007afda
add esp, 4
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x41c]
mov dword [eax - 0xc], eax
mov dword [eax - 8], eax
mov dword [eax - 4], ecx
mov eax, dword [0x1020ccf4]
test eax, eax
jne 0x10079431
mov ecx, 0x1020ccf4
push 0x1007b2a8
push 0x1007b2f0
call fcn.1007cd7c
mov ecx, dword [0x1020ccf4]
mov al, byte [0x1020ccf0]
mov edi, dword [ecx + 0x84]
lea edx, [ecx + 0x8c]
cmp edi, dword [ecx + 0x80]
lea ecx, [ecx + 0x88]
cmove ecx, edx
test al, al
mov ecx, dword [ecx]
mov dword [esp + 4], ebx
mov dword [esp], ebp
lea esi, [edi + ecx*4]
je 0x10079481
mov ecx, 4
mov ebp, esi
test ecx, ecx
je 0x10079498
add ecx, 4
cmp dword [ebp - 4], 0xfffffffd
lea ebp, [ebp - 4]
ja 0x1007946e
jmp 0x1007949a
ret
test ecx, ecx
je 0x100794b9
shl ecx, 2
mov ebp, edi
cmp dword [ebp], 0xfffffffe
jb 0x1007949a
add ebp, 4
add ecx, 0xfffffffc
jne 0x1007948a
mov ebp, esi
test al, al
je 0x100794bb
mov edx, 4
mov ecx, edi
test edx, edx
je 0x100794bd
add edx, 4
cmp dword [ecx - 4], 0xfffffffd
lea ecx, [ecx - 4]
ja 0x100794a5
mov edi, ecx
jmp 0x100794bd
mov ebp, edi
mov edi, esi
cmp ebp, edi
je 0x10079522
lea ebx, [esi + 4]
mov ecx, dword [ebp]
mov edx, dword [ecx + 4]
test edx, edx
je 0x100794eb
mov eax, dword [ecx]
mov dword [esp + 8], eax
lea eax, [esp + 8]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x10]
push eax
call fcn.10043ee4
mov al, byte [0x1020ccf0]
test al, al
je 0x10079500
mov ecx, ebp
cmp ebx, ecx
je 0x10079516
cmp dword [ecx - 4], 0xfffffffd
lea ecx, [ecx - 4]
ja 0x100794f1
jmp 0x1007951c
add ebp, 4
mov ecx, esi
cmp ebp, esi
je 0x1007951c
cmp dword [ebp], 0xfffffffe
jb 0x1007951a
add ebp, 4
cmp esi, ebp
jne 0x10079509
mov ecx, esi
jmp 0x1007951c
mov ecx, ebp
cmp ecx, edi
mov ebp, ecx
jne 0x100794c4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
sub ecx, eax
cmp ecx, 0x10
jl 0x10079545
shr ecx, 3
push 0x1007b0c0
push 8
push ecx
push eax
call fcn.101b0af0
add esp, 0x10
mov eax, dword [0x1020ccf4]
mov ebp, dword [esp]
test eax, eax
jne 0x10079565
mov ecx, 0x1020ccf4
push 0x1007b2a8
push 0x1007b2f0
call fcn.1007cd7c
mov eax, dword [0x1020ccf4]
cmp dword [eax + 0x1c], 0
je 0x100795c3
call fcn.10083d72
mov ecx, eax
push 0xa
push str.OVERVIEW:
call fcn.10045338
mov ecx, dword [0x1020ccf4]
mov ebx, eax
test ecx, ecx
jne 0x100795a3
mov ecx, 0x1020ccf4
push 0x1007b2a8
push 0x1007b2f0
call fcn.1007cd7c
mov eax, dword [0x1020ccf4]
mov ecx, ebx
push dword [eax + 0x1c]
push dword [eax + 0x18]
call fcn.10045338
mov ecx, eax
push 1
push 0x101c83e9
call fcn.10045338
mov eax, dword [0x1020cd10]
test eax, eax
jne 0x100795e0
mov ecx, 0x1020cd10
push 0x1007b0d6
push 0x1007b115
call fcn.1007cd7c
mov eax, dword [0x1020cd10]
cmp ebp, eax
je 0x100796a5
cmp dword [ebp + 0xc], 0
je 0x1007963c
call fcn.10083d72
mov ecx, eax
push 0xc
push str.SUBCOMMAND_
call fcn.10045338
mov ecx, eax
push dword [ebp + 4]
push dword [ebp]
call fcn.10045338
mov ecx, eax
push 3
push 0x101da194
call fcn.10045338
mov ecx, eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10045338
mov ecx, eax
push 2
push 0x101da12f
call fcn.10045338
call fcn.10083d72
mov ecx, eax
push 7
push str.USAGE:
call fcn.10045338
mov ecx, dword [0x1020ccf4]
mov ebx, eax
test ecx, ecx
jne 0x1007966f
mov ecx, 0x1020ccf4
push 0x1007b2a8
push 0x1007b2f0
call fcn.1007cd7c
mov eax, dword [0x1020ccf4]
mov edx, dword [eax + 0x10]
cmp dword [eax + 0x14], 0xf
jbe 0x1007967f
mov eax, dword [eax]
mov ecx, ebx
push edx
push eax
call fcn.10083540
mov ecx, eax
push 1
push 0x101c83e7
call fcn.10045338
mov ecx, eax
push dword [ebp + 4]
push dword [ebp]
call fcn.10045338
jmp 0x10079719
call fcn.10083d72
mov ecx, eax
push 7
push str.USAGE:
call fcn.10045338
mov ecx, dword [0x1020ccf4]
mov ebx, eax
test ecx, ecx
jne 0x100796d8
mov ecx, 0x1020ccf4
push 0x1007b2a8
push 0x1007b2f0
call fcn.1007cd7c
mov eax, dword [0x1020ccf4]
mov edx, dword [eax + 0x10]
cmp dword [eax + 0x14], 0xf
jbe 0x100796e8
mov eax, dword [eax]
mov ecx, ebx
push edx
push eax
call fcn.10083540
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x10]
sar eax, 3
cmp eax, 3
jb 0x10079714
call fcn.10083d72
mov ecx, eax
push 0xd
push str.__subcommand_
call fcn.10045338
call fcn.10083d72
mov ecx, eax
push 0xa
push str.__options_
call fcn.10045338
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
cmp esi, edi
je 0x10079780
mov ebx, dword [esi]
cmp dword [ebx + 0x18], 0
je 0x10079759
call fcn.10083d72
mov ecx, eax
push 3
push 0x101da198
call fcn.10045338
mov ecx, eax
push dword [ebx + 0x18]
push dword [ebx + 0x14]
call fcn.10045338
call fcn.10083d72
mov ecx, eax
push 1
push 0x101c83e7
call fcn.10045338
mov ecx, eax
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
call fcn.10045338
add esi, 4
cmp edi, esi
jne 0x10079731
cmp dword [ebp + 0x60], 0
je 0x100797a9
call fcn.10083d72
mov ecx, eax
push 1
push 0x101c83e7
call fcn.10045338
mov edx, dword [ebp + 0x60]
mov ecx, eax
push dword [edx + 0x20]
push dword [edx + 0x1c]
call fcn.10045338
mov eax, dword [0x1020cd10]
test eax, eax
jne 0x100797c6
mov ecx, 0x1020cd10
push 0x1007b0d6
push 0x1007b115
call fcn.1007cd7c
mov eax, dword [0x1020cd10]
cmp ebp, eax
jne 0x1007996f
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp esi, edi
je 0x1007996f
sub edi, esi
je 0x10079803
sar edi, 3
xor ebp, ebp
push dword [esi]
call fcn.101b1960
add esp, 4
cmp ebp, eax
cmovb ebp, eax
add esi, 8
dec edi
jne 0x100797ec
jmp 0x10079805
xor ebp, ebp
call fcn.10083d72
mov ecx, eax
push 2
push 0x101da12f
call fcn.10045338
call fcn.10083d72
mov ecx, eax
push 0xe
push str.SUBCOMMANDS:_n_n
call fcn.10045338
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp esi, edi
je 0x10079902
call fcn.10083d72
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
sub edx, ecx
cmp edx, 1
ja 0x1007985d
mov ecx, eax
push 2
push 0x101d391e
call fcn.10083540
jmp 0x10079866
mov word [ecx], 0x2020
add dword [eax + 0xc], 2
mov ecx, eax
push dword [esi]
call fcn.100452e8
mov eax, dword [esi + 4]
cmp dword [eax + 0xc], 0
je 0x100798d4
call fcn.10083d72
mov ebx, eax
push dword [esi]
call fcn.101b1960
add esp, 4
mov edx, ebp
mov ecx, ebx
sub edx, eax
push edx
call fcn.1008374a
call fcn.10083d72
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
sub edx, ecx
cmp edx, 2
ja 0x100798b7
mov ecx, eax
push 3
push 0x101da116
call fcn.10083540
jmp 0x100798c4
mov byte [ecx + 2], 0x20
mov word [ecx], 0x2d20
add dword [eax + 0xc], 3
mov edx, dword [esi + 4]
mov ecx, eax
push dword [edx + 0xc]
push dword [edx + 8]
call fcn.10045338
call fcn.10083d72
mov ecx, dword [eax + 0xc]
cmp dword [eax + 8], ecx
jne 0x100798f1
mov ecx, eax
push 1
push 0x101c83e9
call fcn.10083540
jmp 0x100798f7
mov byte [ecx], 0xa
inc dword [eax + 0xc]
add esi, 8
cmp edi, esi
jne 0x1007983b
call fcn.10083d72
mov ecx, eax
push 1
push 0x101c83e9
call fcn.10045338
call fcn.10083d72
mov ecx, eax
push 8
push str.__Type__
call fcn.10045338
mov ecx, dword [0x1020ccf4]
mov ebx, eax
test ecx, ecx
jne 0x10079948
mov ecx, 0x1020ccf4
push 0x1007b2a8
push 0x1007b2f0
call fcn.1007cd7c
mov eax, dword [0x1020ccf4]
mov edx, dword [eax + 0x10]
cmp dword [eax + 0x14], 0xf
jbe 0x10079958
mov eax, dword [eax]
mov ecx, ebx
push edx
push eax
call fcn.10083540
mov ecx, eax
push 0x3e
push str.__subcommand___help__to_get_more_help_on_a_specific_subcommand
call fcn.10045338
call fcn.10083d72
mov ecx, eax
push 2
push 0x101da12f
call fcn.10045338
mov eax, dword [esp + 0x41c]
mov esi, dword [esp + 0x420]
sub esi, eax
je 0x100799c5
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ebx, eax
cmp esi, 8
je 0x100799c7
sar esi, 3
xor edi, edi
dec esi
mov eax, dword [esp + 0x41c]
mov ecx, dword [eax + edi*8 + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp ebx, eax
cmovb ebx, eax
inc edi
cmp esi, edi
jne 0x100799a9
jmp 0x100799c7
xor ebx, ebx
call fcn.10083d72
mov ecx, eax
push 9
push str.OPTIONS:_n
call fcn.10045338
mov ecx, dword [esp + 4]
mov eax, dword [ecx]
push ebx
lea edx, [esp + 0x420]
push edx
call dword [eax]
mov eax, dword [0x1020ccf4]
test eax, eax
jne 0x10079a08
mov ecx, 0x1020ccf4
push 0x1007b2a8
push 0x1007b2f0
call fcn.1007cd7c
mov eax, dword [0x1020ccf4]
mov esi, dword [eax + 0x20]
mov edi, dword [eax + 0x24]
jmp 0x10079a2b
mov ebx, dword [esi]
mov ebp, dword [esi + 4]
call fcn.10083d72
mov ecx, eax
push ebp
push ebx
call fcn.10045338
add esi, 8
cmp esi, edi
jne 0x10079a15
call fcn.10077faa
mov ecx, dword [eax + 0x20]
mov dword [eax + 0x24], ecx
push 0
call fcn.101a90ae
int3