Function at 0x401ae0
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
push edi
mov edi, eax
mov eax, dword [edi + 4]
push 0x4e2970
push eax
call dword [0x4d53d4]
mov esi, edi
call fcn.00402410
mov ecx, dword [edi + 4]
mov ebp, dword [0x4d53d8]
push 0x416
push ecx
call ebp
lea esi, [edi + 0x20]
call fcn.00429e80
push 0x84
call fcn.00429ed0
mov edx, dword [edi + 0x24]
push edx
call dword [0x4d5394]
push 0
push 0xf
push 0xf
push 3
mov ebx, eax
mov eax, dword [esi + 4]
push 0x13b
push eax
call dword [0x4d540c]
test ebx, ebx
je 0x401b4e
call fcn.0042aec0
add esi, 0x14
call fcn.00406710
push 0x4e2978
mov ebx, 2
mov eax, esi
call fcn.00406770
mov ecx, dword [edi + 4]
push 0x3f1
push ecx
call ebp
lea esi, [edi + 0x64]
call fcn.00429e80
push 0x86
call fcn.00429ed0
mov edx, dword [edi + 0x68]
push edx
call dword [0x4d5394]
push 0
push 0x15
push 0x59
push 0xa0
mov ebx, eax
mov eax, dword [esi + 4]
push 5
push eax
call dword [0x4d540c]
test ebx, ebx
je 0x401bb0
call fcn.0042aec0
push 0x4e2980
lea eax, [edi + 0x88]
mov ebx, 6
call fcn.00406770
lea ebx, [edi + 0x64]
mov esi, ebx
call fcn.0042aec0
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x401be4
push eax
call dword [0x4d50b0]
mov dword [ebx + 0x28], 0
push 0
push 0x190
push 0xa
mov esi, 0x4e2968
call fcn.00430420
add esp, 0xc
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], 0x413e3a
mov ecx, dword [edi + 4]
push 0x3f2
push ecx
call ebp
lea esi, [edi + 0xa8]
call fcn.00429e80
push 0x9b
call fcn.00429ed0
mov edx, dword [edi + 0xac]
push edx
call dword [0x4d5394]
push 0
push 0x15
push 0x43
push 0xa0
mov ebx, eax
mov eax, dword [esi + 4]
push 0xc3
push eax
call dword [0x4d540c]
test ebx, ebx
je 0x401c56
call fcn.0042aec0
push 0x4e2990
lea eax, [edi + 0xcc]
mov ebx, 2
call fcn.00406770
lea ebx, [edi + 0xa8]
mov esi, ebx
call fcn.0042aec0
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x401c8d
push eax
call dword [0x4d50b0]
mov dword [ebx + 0x28], 0
push 0
push 0x190
push 0xa
mov esi, 0x4e2968
call fcn.00430420
add esp, 0xc
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], 0xffffff
mov ecx, dword [edi + 4]
push 0x3f3
push ecx
call ebp
lea esi, [edi + 0xec]
call fcn.00429e80
push 0x9c
call fcn.00429ed0
mov edx, dword [edi + 0xf0]
push edx
call dword [0x4d5394]
push 0
push 0x15
push 0x43
push 0xa0
mov ebx, eax
mov eax, dword [esi + 4]
push 0x10c
push eax
call dword [0x4d540c]
test ebx, ebx
je 0x401cff
call fcn.0042aec0
push 0x4e2998
lea eax, [edi + 0x110]
mov ebx, 2
call fcn.00406770
lea ebx, [edi + 0xec]
mov esi, ebx
call fcn.0042aec0
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x401d36
push eax
call dword [0x4d50b0]
mov dword [ebx + 0x28], 0
push 0
push 0x190
push 0xa
mov esi, 0x4e2968
call fcn.00430420
add esp, 0xc
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], 0xffffff
mov ecx, dword [edi + 4]
push 0x3fe
push ecx
call ebp
mov esi, dword [0x4d53d0]
push eax
call esi
test eax, eax
mov ebx, dword [0x4d5398]
je 0x401d91
mov edx, dword [edi + 4]
push 0x3fe
push edx
call ebp
push 0x205
push 0
push 0
push 0x20
push 0xd
push 0
push eax
call ebx
mov eax, dword [edi + 4]
push 0x3ff
push eax
call ebp
push eax
call esi
test eax, eax
je 0x401dc0
mov ecx, dword [edi + 4]
push 0x3ff
push ecx
call ebp
push 0x205
push 0
push 0
push 0x4c
push 0xd
push 0
push eax
call ebx
mov edx, dword [edi + 4]
push 0x41b
push edx
call ebp
push eax
call esi
test eax, eax
je 0x401def
mov eax, dword [edi + 4]
push 0x41b
push eax
call ebp
push 0x205
push 0
push 0
push 0x37
push 0x28
push 0
push eax
call ebx
mov ecx, dword [edi + 4]
push 0x41c
push ecx
call ebp
push eax
call esi
test eax, eax
je 0x401e21
mov edx, dword [edi + 4]
push 0x41c
push edx
call ebp
push 0x205
push 0
push 0
push 0x37
push 0x9e
push 0
push eax
call ebx
mov eax, dword [edi + 4]
push 0x41d
push eax
call ebp
push 0
push eax
call dword [0x4d53dc]
mov ecx, dword [edi + 4]
push 0x41e
push ecx
call ebp
push eax
call esi
test eax, eax
je 0x401e64
mov edx, dword [edi + 4]
push 0x41e
push edx
call ebp
push 0x205
push 0
push 0
push 0x60
push 0x28
push 0
push eax
call ebx
mov eax, dword [edi + 4]
push 0x41f
push eax
call ebp
push eax
call esi
test eax, eax
je 0x401e93
mov ecx, dword [edi + 4]
push 0x41f
push ecx
call ebp
push 0x205
push 0
push 0
push 0x7a
push 0x28
push 0
push eax
call ebx
mov edx, dword [edi + 4]
push 0x420
push edx
call ebp
push eax
call esi
test eax, eax
je 0x401ec5
mov eax, dword [edi + 4]
push 0x420
push eax
call ebp
push 0x205
push 0
push 0
push 0x77
push 0x9e
push 0
push eax
call ebx
test byte [0x5108b8], 1
jne 0x401efe
or dword [0x5108b8], 1
cmp dword [0x50de50], 0
jne 0x401ef1
cmp dword [0x50de54], 0
jne 0x401ef1
mov dword [0x50de50], 0x50e0f0
push 0x4d4190
call fcn.004aa96d
add esp, 4
mov esi, dword [0x50de50]
mov dword [0x50de4c], 1
call fcn.00402520
call fcn.004021c0
mov ecx, dword [edi + 4]
xor eax, eax
xor esi, esi
push ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
call dword [0x4d53c8]
lea edx, [esp + 0x20]
push edx
push eax
call dword [0x4d53a0]
mov ecx, dword [edi + 4]
lea eax, [esp + 0x10]
push eax
push ecx
call dword [0x4d53a8]
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x14]
push 1
cdq
sub eax, edx
mov edx, dword [esp + 0x28]
mov ecx, eax
mov eax, dword [esp + 0x30]
add eax, edx
cdq
sub eax, edx
sar eax, 1
push esi
sar ecx, 1
sub eax, ecx
push esi
push eax
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x20]
cdq
sub eax, edx
mov edx, dword [esp + 0x30]
mov ecx, eax
mov eax, dword [esp + 0x38]
add eax, edx
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub eax, ecx
mov ecx, dword [edi + 4]
push eax
push esi
push ecx
call ebx
mov edx, dword [esp + 0x34]
pop edi
mov dword [edx], esi
lea eax, [esi + 1]
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 4