Function at 0x300e2cbe
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
xor ebx, ebx
push edi
xor edi, edi
xor esi, esi
cmp dword [0x301e51ac], ebx
mov dword [ebp - 4], ebx
jne 0x300e2fd2
call fcn.300e1e5d
xor ecx, ecx
cmp dword [0x301df1a0], ecx
jne 0x300e2ef7
cmp dword [0x301df198], ecx
jne 0x300e2ef7
mov eax, dword [0x301e4524]
mov eax, dword [eax + 0x10c]
push dword [eax + 0x18]
push dword [eax + 0x14]
lea eax, [ebp - 0x28]
push ecx
push ecx
push eax
call fcn.30055867
mov esi, dword [0x301de22c]
sub esi, dword [ebp - 0x24]
mov edi, dword [0x301de228]
sub edi, dword [ebp - 0x28]
add esi, dword [0x301ddde8]
add edi, dword [0x301de220]
add esi, dword [0x301de224]
add edi, dword [ebp - 0x20]
add esi, dword [ebp - 0x1c]
lea eax, [ebp - 0x28]
push eax
push ebx
call fcn.3000b0e4
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
mov ecx, dword [0x301de228]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
push 0xf
mov dword [ebp - 0xc], eax
mov eax, dword [0x301de220]
add ecx, eax
mov dword [ebp - 4], ecx
call dword [0x30001420]
mov edx, dword [0x301de220]
mov ecx, dword [ebp - 8]
imul edx, edx, 6
mov ebx, eax
add ebx, dword [0x301de22c]
mov eax, dword [0x301ddde8]
sub ecx, edx
sub ecx, dword [ebp - 4]
add ebx, eax
add ebx, dword [0x301de224]
mov dword [ebp - 0x10], ecx
lea ecx, [eax + eax]
mov eax, dword [ebp - 0xc]
sub eax, ecx
sub eax, ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
add eax, eax
cdq
push 3
pop ecx
idiv ecx
and dword [ebp - 0x24], 0
and dword [ebp - 0x28], 0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x28]
push eax
push dword [0x301e46e4]
call fcn.300adfd9
mov eax, dword [0x301e46e4]
push dword [eax + 0x40]
call fcn.30056487
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x28]
push eax
push dword [0x301e46e4]
call fcn.3000f991
lea eax, [ebp - 0x28]
push eax
call fcn.3003694f
push dword [ebp - 0xc]
call fcn.30056487
mov eax, dword [0x301de004]
lea ecx, [edi + eax*8]
cmp ecx, dword [ebp - 0x10]
jge 0x300e2e1c
imul eax, eax, 6
mov dword [ebp - 0x28], eax
add eax, edi
mov dword [ebp - 0x20], eax
mov eax, dword [0x301de008]
mov ecx, eax
imul ecx, ecx, 5
add ecx, esi
cmp ecx, dword [ebp - 0x14]
jge 0x300e2e3a
shl eax, 2
jmp 0x300e2e3c
add eax, eax
mov dword [ebp - 0x24], eax
add eax, esi
mov dword [ebp - 0x1c], eax
mov eax, dword [0x301e4918]
mov dword [ebp - 0xc], eax
mov eax, dword [0x301e4524]
push dword [eax + 0x10c]
call fcn.30056045
lea eax, [ebp - 0x28]
push eax
push dword [0x301e4524]
call fcn.300adfd9
push dword [ebp - 0xc]
call fcn.30056045
mov ecx, dword [0x301de220]
mov eax, dword [ebp - 0x28]
add ecx, ecx
add eax, ecx
add eax, edi
push eax
mov eax, dword [ebp - 8]
imul eax, eax, 5
push 6
cdq
pop edi
idiv edi
add eax, ecx
push eax
call fcn.30056021
push eax
push dword [ebp - 0x10]
call fcn.30055f82
mov ecx, dword [ebp - 0x24]
mov edi, eax
mov eax, dword [0x301de224]
add eax, eax
add ecx, eax
add ecx, esi
push ecx
mov ecx, dword [ebp - 0x18]
add eax, ecx
push eax
call fcn.30056021
push eax
push dword [ebp - 0x14]
call fcn.30055f82
mov esi, eax
push 0
lea eax, [esi + ebx]
push eax
mov eax, dword [ebp - 4]
add eax, edi
push eax
mov eax, dword [0x301de220]
push dword [0x301ddde8]
imul eax, eax, 3
push eax
push dword [0x301e47a0]
call dword [fcn.30001610]
push 1
call fcn.300ae078
xor ecx, ecx
mov eax, dword [0x301e4524]
cmp dword [0x301e42f8], eax
jne 0x300e2f09
mov eax, dword [0x301e46e4]
push ecx
push eax
mov dword [ebp - 8], eax
call fcn.30015bfc
push 1
push dword [ebp - 8]
call fcn.30049527
push 3
push dword [0x301e42f8]
call fcn.30049527
push 1
push dword [0x301dec14]
call fcn.30049527
push dword [0x301dec14]
call fcn.3002cc16
cmp dword [0x301e5184], 0
je 0x300e2f73
push 3
push dword [0x301e47a0]
call dword [fcn.30001678]
mov eax, dword [0x301e4ba0]
and dword [0x301e5184], 0
test eax, eax
je 0x300e2f81
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x70]
jmp 0x300e2f81
push 1
push dword [0x301e47a0]
call dword [fcn.30001678]
call fcn.300e2c94
mov dword [ebp - 0x18], eax
call fcn.300e2c4e
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jg 0x300e2f99
test eax, eax
jle 0x300e2fc3
add eax, ebx
push 1
add eax, esi
push eax
mov eax, dword [ebp - 4]
add ecx, eax
mov eax, dword [0x301de220]
imul eax, eax, 3
add ecx, edi
push ecx
push dword [0x301ddde8]
push eax
push dword [0x301e47a0]
call dword [fcn.30001610]
xor eax, eax
inc eax
mov dword [0x301e51ac], eax
mov dword [0x301df188], eax
jmp 0x300e3003
push dword [0x301e47a0]
call dword [fcn.30001688]
test eax, eax
je 0x300e3003
push dword [0x301e47a0]
call dword [fcn.3000160c]
neg eax
sbb eax, eax
and eax, 2
inc eax
push eax
push dword [0x301e47a0]
call dword [fcn.30001678]
mov esi, dword [0x30001684]
push 1
push dword [0x301e47a0]
call esi
xor ebx, ebx
jmp 0x300e304a
cmp edi, dword [0x301e47a0]
je 0x300e302c
push 4
push edi
call esi
cmp eax, dword [0x301e47a0]
jne 0x300e3045
push edi
call dword [fcn.300014cc]
test eax, eax
je 0x300e3045
push 3
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
call dword [fcn.3000166c]
push 3
push edi
call esi
mov edi, eax
cmp edi, ebx
jne 0x300e3017
pop edi
xor eax, eax
inc eax
pop esi
mov dword [0x301e46f0], eax
pop ebx
leave
ret