Function at 0x4c99a5
Capabilities:
Terminate process

Disassembly:
mov eax, 0x564ead
call fcn.00514868
sub esp, 0x108
push ebx
push esi
mov esi, dword [ebp + 8]
mov ecx, esi
push edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c99c0
sub ecx, edx
lea eax, [esi - 4]
push 4
add eax, ecx
push 0x5e5b38
push eax
call fcn.00540c5d
add esp, 0xc
test eax, eax
jne 0x4c9b1d
push esi
call fcn.004d9d93
mov esi, eax
pop ecx
test esi, esi
je 0x4c9c0d
push esi
call fcn.004d9b9b
xor ebx, ebx
mov dword [ebp - 0x20], eax
pop ecx
mov ecx, ebx
mov dword [ebp + 8], ecx
test eax, eax
jne 0x4c9c0d
mov edi, dword [ebp + 0xc]
test ecx, ecx
jne 0x4c9af2
push ebx
push ebx
push ebx
push ebx
push 0x80
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x90]
push eax
push esi
call fcn.004d9afb
push 1
lea eax, [ebp - 0x114]
push eax
push esi
call fcn.004d9c8a
add esp, 0x2c
push esi
test eax, eax
jne 0x4c9b10
call fcn.004d9da7
pop ecx
test eax, eax
jne 0x4c9b00
push 4
lea eax, [ebp - 0x40]
push eax
push esi
call fcn.004da43a
lea eax, [ebp - 0x40]
push eax
call fcn.004cb29c
add esp, 0x10
test al, al
je 0x4c9ac4
mov eax, dword [ebp - 0x40]
mov dword [edi], eax
mov eax, dword [ebp + 0x10]
add eax, 0xfffffffc
mov dword [ebp + 8], 1
push eax
lea eax, [edi + 4]
push eax
push esi
call fcn.004da43a
add esp, 0xc
add eax, 4
push esi
cmp dword [ebp + 0x10], eax
jne 0x4c9ae1
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x74]
mov dword [ecx], eax
call fcn.004d9a7e
pop ecx
cmp eax, 0xffffff97
je 0x4c9b02
push esi
call fcn.004d9a47
mov eax, dword [ebp - 0x20]
jmp 0x4c9ad4
push esi
call fcn.004d9a7e
push esi
call fcn.004d9bee
pop ecx
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x4c9ae9
mov ecx, dword [ebp + 8]
jmp 0x4c9a13
call fcn.004d9a7e
pop ecx
jmp 0x4c9b02
cmp dword [ebp + 8], ebx
je 0x4c9c0d
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x4c9cac
mov bl, 1
push esi
call fcn.004d9a47
pop ecx
mov al, bl
jmp 0x4c9c0f
call fcn.004d9a47
pop ecx
mov al, 1
jmp 0x4c9c0f
lea ecx, [ebp - 0x18]
call fcn.00495113
xor ebx, ebx
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x18]
push ebx
push esi
call fcn.004951e4
test al, al
je 0x4c9c01
lea ecx, [ebp - 0x18]
call fcn.0049533b
push 0x20
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x18]
call fcn.004952e8
test eax, eax
je 0x4c9c01
lea eax, [ebp - 0x40]
push eax
call fcn.004cb29c
pop ecx
test al, al
je 0x4c9b7c
lea ecx, [ebp - 0x18]
call fcn.0049533b
push dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
push edi
jmp 0x4c9c7e
lea eax, [ebp - 0x40]
push eax
call fcn.004ceb83
mov edi, 0x435b0c0
pop ecx
test al, al
jne 0x4c9cbb
lea ecx, [ebp - 0x18]
call fcn.004951c0
cmp eax, edi
je 0x4c9bb2
lea ecx, [ebp - 0x18]
call fcn.004951c0
cmp eax, 0x3dec800
jne 0x4c9cbb
mov dword [ebp - 0x20], 0xb0a0302
mov esi, ebx
mov word [ebp - 0x1c], 0x801
mov byte [ebp - 0x1a], 9
movzx eax, byte [ebp + esi - 0x20]
lea ecx, [ebp - 0x18]
imul edi, eax, 0x4d08
push ebx
push edi
call fcn.0049531c
push 0x20
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x18]
call fcn.004952e8
cmp eax, 0x20
jne 0x4c9c01
lea eax, [ebp - 0x40]
push eax
call fcn.004ceb83
pop ecx
test al, al
jne 0x4c9c22
inc esi
cmp esi, 7
jl 0x4c9bc5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.00495124
xor al, al
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x14
push ebx
push edi
lea ecx, [ebp - 0x18]
call fcn.0049531c
mov edi, dword [ebp + 0xc]
lea ecx, [ebp - 0x18]
push 0x100
push edi
call fcn.004952e8
test eax, eax
je 0x4c9c01
push ebx
push 0x43670
lea ecx, [ebp - 0x18]
call fcn.0049531c
push 0x20
lea eax, [edi + 0x100]
push eax
lea ecx, [ebp - 0x18]
call fcn.004952e8
test eax, eax
je 0x4c9c01
push ebx
push 0x738c0
lea ecx, [ebp - 0x18]
call fcn.0049531c
push 0x200
lea eax, [edi + 0x200]
push eax
lea ecx, [ebp - 0x18]
call fcn.004952e8
test eax, eax
je 0x4c9c01
lea ecx, [ebp - 0x18]
call fcn.004951c0
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, dword [ebp + 0x18]
mov dword [eax], ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.00495124
push dword [ebp + 0x10]
push edi
call fcn.004c80d5
pop ecx
jmp 0x4c9b15
lea eax, [ebp - 0x40]
push eax
call fcn.004ceb83
pop ecx
test al, al
je 0x4c9c01
lea ecx, [ebp - 0x18]
mov dword [ebp + 8], 0x100
mov esi, 0x200
call fcn.004951c0
cmp eax, edi
je 0x4c9cf4
lea ecx, [ebp - 0x18]
call fcn.004951c0
cmp eax, 0x3dec800
jne 0x4c9d00
mov dword [ebp + 8], 0x43670
mov esi, 0x738c0
push ebx
push ebx
lea ecx, [ebp - 0x18]
call fcn.0049531c
mov edi, dword [ebp + 0xc]
lea ecx, [ebp - 0x18]
push 0x100
push edi
call fcn.004952e8
test eax, eax
je 0x4c9c01
push ebx
push dword [ebp + 8]
lea ecx, [ebp - 0x18]
call fcn.0049531c
push 0x20
lea eax, [edi + 0x100]
push eax
lea ecx, [ebp - 0x18]
call fcn.004952e8
test eax, eax
je 0x4c9c01
push ebx
push esi
jmp 0x4c9c6a