Function at 0x102cfaa0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70
push ebx
push esi
push edi
mov ecx, 0x104f68b0
call fcn.1015f0d9
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xe64]
and ecx, 0x40000
je 0x102cfaca
mov byte [ebp - 0x65], 1
jmp 0x102cface
mov byte [ebp - 0x65], 0
mov dl, byte [ebp - 0x65]
mov byte [ebp - 1], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 8]
jle 0x102cfaed
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
lea edx, [ecx + eax*2]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.1015c0a5
add esp, 8
mov dword [ebp - 0xc], eax
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x102cfb2a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
mov edx, dword [ebp - 0xc]
lea eax, [edx + ecx + 1]
mov ecx, dword [ebp + 8]
cmp eax, dword [ecx + 0x30]
jle 0x102cfb2a
xor al, al
jmp 0x102cfc7d
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x14]
lea edx, [ecx + eax + 1]
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 4]
jle 0x102cfbca
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x102cfb4f
xor al, al
jmp 0x102cfc7d
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
cmp ecx, dword [eax + 4]
jl 0x102cfb62
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp - 0x68], eax
cmp dword [ebp + 0x14], 0x100
jg 0x102cfb7d
mov dword [ebp - 0x64], 0x100
jmp 0x102cfb83
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp + 0x14]
shl edx, 2
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0x20
jge 0x102cfb9b
mov dword [ebp - 0x6c], 0x20
jmp 0x102cfbb7
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x64]
jle 0x102cfbab
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x70], ecx
jmp 0x102cfbb1
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 8]
lea eax, [edx + ecx + 1]
push eax
mov ecx, dword [ebp - 0x68]
call fcn.1015d626
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 8]
je 0x102cfc06
mov eax, dword [ebp - 8]
sub eax, dword [ebp + 0xc]
shl eax, 1
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
lea eax, [edx + ecx*2]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
lea eax, [edx + ecx*2]
mov ecx, dword [ebp + 0x14]
lea edx, [eax + ecx*2]
push edx
call fcn.10160aa6
add esp, 0xc
mov eax, dword [ebp + 0x14]
shl eax, 1
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
lea ecx, [eax + edx*2]
push ecx
call fcn.1015f8b3
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
add ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
mov dword [edx + 0x28], ecx
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax]
jl 0x102cfc64
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov edx, dword [ebp - 0x60]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x18]
lea edx, [eax + ecx*2]
mov dword [ebp - 0x5c], edx
xor eax, eax
mov ecx, dword [ebp - 0x5c]
mov word [ecx], ax
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret