Function at 0x456590
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x6019e4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov ebx, edx
push edi
mov edi, ecx
test ebx, ebx
jne 0x4565b2
xor esi, esi
mov dword [ebp - 8], esi
jmp 0x4565c5
push 0x400
push ebx
call fcn.0058d536
add esp, 8
mov dword [ebp - 8], eax
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x10], 0
call fcn.00414690
push 0x608378
or edx, 0xffffffff
mov ecx, edi
call fcn.00410720
add esp, 4
test eax, eax
je 0x456611
push 0x608388
or edx, 0xffffffff
mov ecx, edi
call fcn.0040fe40
add esp, 4
or edx, 0xffffffff
mov ecx, edi
call fcn.00413790
mov ecx, edi
mov dword [ebp - 0x14], eax
call fcn.00415510
jmp 0x45664d
call fcn.004b3890
mov ecx, dword [edi + 0x44]
mov edx, eax
mov dword [ebp - 0x14], edx
cmp ecx, dword [edi + 0x38]
jae 0x4567c4
lea eax, [ecx + 8]
mov dword [edi + 0x44], eax
xor eax, eax
or eax, 0xfff60000
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov edx, 0xfffffffe
push 0x608398
mov ecx, edi
call fcn.00410110
add esp, 4
mov ecx, edi
call fcn.00415510
mov ecx, edi
call fcn.00414690
lea eax, [ebp - 0xc]
or edx, 0xffffffff
push eax
push 0
push 0x6083a8
mov ecx, edi
call fcn.00470870
add esp, 0xc
mov dword [ebp - 0x1c], eax
mov ecx, edi
call fcn.00415510
add esi, dword [ebp - 0xc]
lea eax, [esi + 0x29]
call fcn.00585a60
mov ecx, esp
lea eax, [esi + 5]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x4567da
add eax, 0x24
push eax
push 0
push ecx
call fcn.00587250
mov ecx, dword [ebp - 0xc]
add esp, 0xc
mov edx, dword [ebp - 0x18]
lea esi, [ecx + 0x10]
mov dword [ecx], edx
mov dword [ecx + 4], 4
mov eax, dword [0x624130]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 1
cmp dword [esi - 0xc], 0
jbe 0x4566d8
mov ecx, dword [esi - 0x10]
add ecx, esi
jmp 0x4566dd
mov ecx, 0xfffffff0
mov dword [ecx], 4
mov dword [ecx + 4], 0
mov eax, dword [0x624138]
mov dword [ecx + 8], eax
lea eax, [esi + 4]
mov dword [ecx + 0xc], 2
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
push ebx
test eax, eax
jne 0x45671d
mov eax, dword [ebp - 8]
push 0x6083bc
add eax, 4
push eax
push esi
call fcn.00401140
add esp, 0x10
jmp 0x45672d
push eax
push 0x6083c4
push edx
push esi
call fcn.00401140
add esp, 0x14
mov edx, esi
lea ecx, [ebp - 0x10]
call fcn.004b4770
test eax, eax
jle 0x45676d
mov esi, dword [ebp - 0x10]
mov ecx, edi
push eax
mov edx, esi
call fcn.004140e0
add esp, 4
push esi
call fcn.0058c812
add esp, 4
mov eax, 1
lea esp, [ebp - 0x28]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005852a8
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x14]
mov edx, 0xff
push 0
push dword [ebp - 8]
push ebx
call fcn.004b3bf0
add esp, 0xc
test eax, eax
je 0x4567ae
mov edx, dword [eax + 0x14]
test edx, edx
je 0x4567ae
mov ecx, edi
call fcn.00414170
mov eax, 1
lea esp, [ebp - 0x28]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005852a8
mov esp, ebp
pop ebp
ret
xor eax, eax
lea esp, [ebp - 0x28]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005852a8
mov esp, ebp
pop ebp
ret
push str.cannot_push_beyond_allocated_stack
push 0x30010f5
mov edx, 0x605a80
mov ecx, edi
call fcn.0040d970
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfe
push 0x46d
mov edx, 0x6240d4
xor ecx, ecx
call fcn.004b4f80
add esp, 0xc
push 0x46d
push 0x6240f0
push 0x62410c
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.005885bd
int3