Function at 0x419390
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x19c
mov eax, dword [0x46f308]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 0
jne 0x4193ba
mov eax, dword [ebp + 0xc]
push eax
call fcn.00419200
add esp, 4
jmp 0x4195f8
cmp dword [ebp + 0xc], 0
jg 0x4193c9
mov dword [ebp + 0xc], 0x10
jmp 0x4193de
mov eax, dword [ebp + 0xc]
add eax, 0x20
cdq
and edx, 0xf
add eax, edx
sar eax, 4
shl eax, 4
mov dword [ebp + 0xc], eax
cmp dword [ebp + 0xc], 0x40000000
jle 0x419415
mov ecx, dword [ebp + 0xc]
push ecx
push str.my_realloc:_to_big_memory__ret_0._NeedSize_d
lea edx, [ebp - 0x104]
push edx
call fcn.0043d70c
add esp, 0xc
lea eax, [ebp - 0x104]
push eax
call fcn.00418830
add esp, 4
xor eax, eax
jmp 0x4195f8
mov dword [ebp - 0x18c], 0
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x188], ecx
mov edx, dword [ebp - 0x188]
sub edx, 0x10
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax]
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x188]
mov eax, dword [edx + 8]
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 0x784ad630
je 0x41946f
push 3
push str.my_realloc:_Invalide_pointer
call fcn.00418ca0
add esp, 8
xor ecx, ecx
mov edx, dword [ebp - 0x188]
mov dword [edx], ecx
xor eax, eax
mov ecx, dword [ebp - 0x188]
add ecx, 8
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x188]
push eax
call fcn.00440c6d
add esp, 8
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 0
jne 0x4194fe
push 3
push 0xff37a1cf
push str.my_realloc_fail
call fcn.00418e00
add esp, 0xc
push str.my_realloc
call fcn.00418b80
add esp, 4
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x190]
push edx
push str.Fatal_Error_on_my_realloc:_no_memory._OldSize_d_NeedSize_d
lea eax, [ebp - 0x184]
push eax
call fcn.0043d70c
add esp, 0x10
lea ecx, [ebp - 0x184]
push ecx
call fcn.00418830
add esp, 4
push 0xffffffffffffffff
call fcn.00440c1b
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp + 0xc]
mov dword [edx], eax
mov ecx, dword [ebp - 0x18c]
mov edx, dword [0x45c624]
mov dword [ecx + 8], edx
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp - 0x190]
test eax, eax
jle 0x419546
mov ecx, dword [ebp + 0xc]
sub ecx, dword [ebp - 0x190]
push ecx
push 0
mov edx, dword [ebp - 0x18c]
add edx, dword [ebp - 0x190]
push edx
call fcn.0043d7c0
add esp, 0xc
push 0x472ea0
call fcn.00417cd0
add esp, 4
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp - 0x190]
add eax, dword [0x470c74]
mov dword [0x470c74], eax
mov dword [ebp - 0x198], 1
mov dword [ebp - 0x19c], 1
push 0x472ea0
call fcn.00417d10
add esp, 4
cmp dword [ebp - 0x198], 0
jne 0x4195bd
mov ecx, dword [ebp - 0x190]
push ecx
push str.my_realloc:_memptr_not_exist__oldsize_d_
lea edx, [ebp - 0x104]
push edx
call fcn.0043d70c
add esp, 0xc
push 3
lea eax, [ebp - 0x104]
push eax
call fcn.00418ca0
add esp, 8
cmp dword [ebp - 0x19c], 0
jne 0x4195ef
mov ecx, dword [ebp + 0xc]
push ecx
push str.my_realloc:_memptr_already_exist__needsize_d_
lea edx, [ebp - 0x104]
push edx
call fcn.0043d70c
add esp, 0xc
push 3
lea eax, [ebp - 0x104]
push eax
call fcn.00418ca0
add esp, 8
mov eax, dword [ebp - 0x18c]
add eax, 0x10
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043ae40
mov esp, ebp
pop ebp
ret