Function at 0x10089210
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10198e05
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push esi
push edi
mov eax, dword [0x101f6e00]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [ebp + 0xc], 1
jne 0x10089438
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 0x138]
jne 0x1008954e
mov eax, dword [esi + 0x124]
cmp eax, 1
jne 0x1008932c
push ecx
lea ecx, [ebp - 0x30]
call fcn.1006cd20
mov dword [ebp - 0x30], vtable.Packet.0
mov byte [ebp - 0x10], 0xe9
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x18]
mov eax, ecx
mov edx, dword [ebp - 0x1c]
sub eax, edx
cmp eax, 0x989680
jb 0x100892aa
push 0x97
push 0x101d5be8
push str.size_____10000000
call fcn.101598d0
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
sub ecx, edx
lea edi, [eax + 1]
cmp ecx, edi
jae 0x100892c2
push edi
lea ecx, [ebp - 0x20]
call fcn.10052c60
mov eax, dword [ebp - 0x24]
push eax
lea ecx, [ebp - 0x20]
call fcn.10052c00
mov byte [eax], 0xad
mov edx, dword [ebp - 0x18]
mov eax, edx
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
inc ecx
sub eax, edi
mov dword [ebp - 0x24], ecx
cmp eax, 0x989680
jb 0x10089306
push 0x97
push 0x101d5be8
push str.size_____10000000
call fcn.101598d0
mov edx, dword [ebp - 0x18]
add esp, 0xc
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + 1]
sub edx, edi
cmp edx, eax
jae 0x1008931b
push eax
lea ecx, [ebp - 0x20]
call fcn.10052c60
mov ecx, dword [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x20]
call fcn.10052c00
mov byte [eax], 2
jmp 0x100893fb
cmp eax, 2
jne 0x1008944d
push ecx
lea ecx, [ebp - 0x30]
call fcn.1006cd20
mov dword [ebp - 0x30], vtable.Packet.0
mov byte [ebp - 0x10], 0xe9
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x18]
mov eax, ecx
mov edx, dword [ebp - 0x1c]
sub eax, edx
cmp eax, 0x989680
jb 0x1008937e
push 0x97
push 0x101d5be8
push str.size_____10000000
call fcn.101598d0
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
sub ecx, edx
lea edi, [eax + 1]
cmp ecx, edi
jae 0x10089396
push edi
lea ecx, [ebp - 0x20]
call fcn.10052c60
mov eax, dword [ebp - 0x24]
push eax
lea ecx, [ebp - 0x20]
call fcn.10052c00
mov byte [eax], 0xad
mov edx, dword [ebp - 0x18]
mov eax, edx
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
inc ecx
sub eax, edi
mov dword [ebp - 0x24], ecx
cmp eax, 0x989680
jb 0x100893da
push 0x97
push 0x101d5be8
push str.size_____10000000
call fcn.101598d0
mov edx, dword [ebp - 0x18]
add esp, 0xc
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + 1]
sub edx, edi
cmp edx, eax
jae 0x100893ef
push eax
lea ecx, [ebp - 0x20]
call fcn.10052c60
mov ecx, dword [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x20]
call fcn.10052c00
mov byte [eax], 1
inc dword [ebp - 0x24]
lea ecx, [ebp - 0x30]
call fcn.100c62b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x30], vtable.ByteBuffer.0
call fcn.10052cf0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0
push 8
push eax
call fcn.1013c8d0
add esp, 8
mov ecx, esi
call fcn.10089610
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
cmp eax, 4
jne 0x10089431
lea ecx, [ebp - 0x54]
call fcn.100508a0
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov eax, ecx
mov edx, dword [ebp - 0x40]
sub eax, edx
mov dword [ebp - 0x54], vtable.Packet.0
mov byte [ebp - 0x34], 0xe9
cmp eax, 0x989680
jb 0x1008949a
push 0x97
push 0x101d5be8
push str.size_____10000000
call fcn.101598d0
mov ecx, dword [ebp - 0x3c]
add esp, 0xc
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
sub ecx, edx
lea edi, [eax + 1]
cmp ecx, edi
jae 0x100894b2
push edi
lea ecx, [ebp - 0x44]
call fcn.10052c60
mov eax, dword [ebp - 0x48]
push eax
lea ecx, [ebp - 0x44]
call fcn.10052c00
mov byte [eax], 0xf4
mov ecx, dword [ebp - 0x48]
inc ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x3c]
mov eax, edx
mov edi, dword [ebp - 0x40]
sub eax, edi
cmp eax, 0x989680
jb 0x100894fd
push 0x97
push 0x101d5be8
push str.size_____10000000
call fcn.101598d0
mov edx, dword [ebp - 0x3c]
add esp, 0xc
mov edi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
lea eax, [ecx + 1]
sub edx, edi
cmp edx, eax
jae 0x10089512
push eax
lea ecx, [ebp - 0x44]
call fcn.10052c60
mov ecx, dword [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x44]
call fcn.10052c00
lea ecx, [ebp - 0x54]
mov byte [eax], 2
inc dword [ebp - 0x48]
call fcn.100c62b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x54], vtable.ByteBuffer.0
call fcn.10052cf0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], 0
jmp 0x10089426
cmp eax, dword [esi + 0x134]
je 0x10089431
cmp eax, dword [esi + 0x13c]
jne 0x10089431
cmp dword [esi + 0x124], 3
jne 0x10089431
push 0
call fcn.1015c310
int3