Function at 0x1069635
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp byte [ebp + 0x14], 0
push ebx
push esi
push edi
je 0x1069744
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
cmp byte [0x107d0e4], 0
je 0x106966a
push 0x1015410
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
pop ecx
jmp 0x10698ab
mov esi, dword [sym.imp.msvcrt.dll_fflush]
push eax
call esi
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call esi
xor edx, edx
cmp dword [0x1251a30], edx
pop ecx
pop ecx
mov dword [ebp + 0x10], edx
jle 0x106972b
mov dword [ebp + 0x14], edx
jmp 0x1069698
xor edx, edx
mov eax, dword [0x1251a40]
mov ecx, dword [ebp + 0x14]
mov edi, dword [0x107fa1c]
mov ebx, dword [0x107fa18]
lea esi, [ecx + eax]
push dword [esi + 4]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
push edi
push ebx
push edx
push edx
push ecx
push eax
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], ecx
call fcn.0101a461
push 0
push 0x3e8
push edx
push eax
call fcn.01070b00
push 0
push 0x64
push edx
push eax
call fcn.0105c660
push edx
push eax
push edi
push ebx
xor edi, edi
push edi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0101a461
push edi
push 0x3e8
push edx
push eax
call fcn.0105c660
push edx
push eax
push dword [esi + 8]
push 0x10153e4
call dword [sym.imp.msvcrt.dll_printf]
add dword [ebp + 0x14], 0x18
add esp, 0x1c
inc dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
cmp eax, dword [0x1251a30]
jl 0x1069696
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call dword [sym.imp.msvcrt.dll_fflush]
xor eax, eax
pop ecx
xor edx, edx
jmp 0x10698e6
cmp byte [0x107d0e4], 0
je 0x1069797
and dword [0x1251a30], 0
push 0x960
mov byte [0x107d0e4], 0
mov dword [0x1251a24], 0x64
call dword [sym.imp.msvcrt.dll_malloc]
test eax, eax
pop ecx
mov dword [0x1251a40], eax
jne 0x1069797
push 0x10153b8
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
pop ecx
push 1
jmp 0x10698ad
mov ecx, dword [ebp + 0x10]
lea eax, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x106979d
mov edi, dword [0x1251a30]
sub ecx, eax
mov ebx, ecx
xor esi, esi
test edi, edi
mov dword [ebp - 4], ebx
jle 0x1069805
mov eax, dword [0x1251a40]
mov dword [ebp + 0x14], eax
cmp ebx, dword [eax]
jne 0x10697f7
mov ecx, dword [eax + 8]
mov edx, dword [ebp + 0x10]
mov bl, byte [edx]
mov al, bl
cmp bl, byte [ecx]
jne 0x10697eb
test al, al
je 0x10697e7
mov bl, byte [edx + 1]
mov al, bl
cmp bl, byte [ecx + 1]
jne 0x10697eb
inc edx
inc edx
inc ecx
inc ecx
test al, al
jne 0x10697c9
xor eax, eax
jmp 0x10697f0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1069847
mov ebx, dword [ebp - 4]
mov eax, dword [ebp + 0x14]
inc esi
add eax, 0x18
cmp esi, edi
mov dword [ebp + 0x14], eax
jl 0x10697bf
mov ecx, dword [0x1251a24]
inc edi
cmp edi, ecx
mov dword [0x1251a30], edi
jl 0x1069875
add ecx, 0x14
lea eax, [ecx + ecx*2]
shl eax, 3
push eax
push dword [0x1251a40]
mov dword [0x1251a24], ecx
call dword [sym.imp.msvcrt.dll_realloc]
test eax, eax
pop ecx
pop ecx
mov dword [0x1251a40], eax
jne 0x1069875
push 0x1015390
jmp 0x106977f
mov ecx, dword [0x1251a40]
lea eax, [esi + esi*2]
lea ecx, [ecx + eax*8]
inc dword [ecx + 4]
mov eax, dword [0x1251a28]
sub eax, dword [ebp + 8]
mov edx, dword [0x1251a2c]
sbb edx, dword [ebp + 0xc]
add dword [ecx + 0x10], eax
mov dword [0x1251a44], esi
adc dword [ecx + 0x14], edx
jmp 0x10698e0
lea eax, [ebx + 1]
push eax
call dword [sym.imp.msvcrt.dll_malloc]
test eax, eax
mov edx, dword [0x1251a40]
pop ecx
lea ecx, [esi + esi*2]
lea ecx, [edx + ecx*8]
mov dword [ecx + 8], eax
jne 0x10698b3
mov eax, dword [sym.imp.msvcrt.dll__iob]
push ebx
add eax, 0x40
push 0x1015364
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
push 0xffffffffffffffff
call dword [sym.imp.msvcrt.dll_exit]
mov esi, dword [ebp + 0x10]
mov dl, byte [esi]
inc esi
mov byte [eax], dl
inc eax
test dl, dl
jne 0x10698b6
mov dword [ecx], ebx
mov eax, dword [0x1251a28]
mov edx, dword [0x1251a2c]
sub eax, dword [ebp + 8]
mov dword [ecx + 4], 1
sbb edx, dword [ebp + 0xc]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
pop edi
pop esi
pop ebx
leave
ret 0x10