Function at 0x4050f4
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push edi
mov ebx, ecx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00435bf8
mov ecx, ebx
call fcn.00409b63
mov ecx, ebx
call fcn.00407496
mov ecx, ebx
call fcn.004062e0
mov ecx, ebx
call fcn.00405b43
mov ecx, ebx
call fcn.004066f9
xor esi, esi
mov ecx, ebx
push esi
call fcn.00406cc8
mov ecx, ebx
call fcn.00406609
mov ecx, ebx
mov dword [ebx + 0x68], 1
call fcn.00405086
mov edi, dword [0x4645c0]
push 0x44e
push dword [ebx + 4]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
call edi
mov esi, dword [0x4645cc]
lea ecx, [ebp - 0x18]
push ecx
push eax
call esi
push 0x44e
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [0x4645e4]
push eax
call esi
mov eax, dword [ebp - 0x24]
neg eax
push eax
mov eax, dword [ebp - 0x28]
neg eax
push eax
lea eax, [ebp - 0x18]
push eax
call dword [0x4645bc]
lea eax, [ebp - 8]
push eax
call fcn.00407e9f
mov esi, 0x100
pop ecx
cmp dword [ebp - 8], esi
je 0x40520d
push 0x44e
push dword [ebx + 4]
call edi
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
push 4
push eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push eax
push dword [ebp - 4]
push esi
push dword [ebp - 0x14]
call dword [0x46421c]
push eax
push dword [ebp - 8]
push esi
push dword [ebp - 0x18]
call dword [0x46421c]
push eax
push 0
push dword [ebp + 0x14]
call dword [0x4645dc]
push 0x450
xor eax, eax
push dword [ebx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call edi
lea ecx, [ebp - 0x18]
push ecx
push eax
call dword [0x4645cc]
push 0x450
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [0x4645e4]
push eax
call dword [0x4645cc]
mov eax, dword [ebp - 0x24]
neg eax
push eax
mov eax, dword [ebp - 0x28]
neg eax
push eax
lea eax, [ebp - 0x18]
push eax
call dword [0x4645bc]
lea eax, [ebp - 8]
push eax
call fcn.00407e9f
cmp dword [ebp - 8], esi
pop ecx
je 0x4052e1
mov eax, dword [ebp - 0xc]
push dword [ebp - 4]
sub eax, dword [ebp - 0x14]
push esi
push eax
call dword [0x46421c]
push dword [ebp - 8]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push esi
push eax
call dword [0x46421c]
push 0x450
mov dword [ebp + 0x10], eax
push dword [ebx + 4]
call edi
push 4
mov dword [ebp + 0xc], eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 4]
push esi
push dword [ebp - 0x14]
call dword [0x46421c]
push eax
push dword [ebp - 8]
push esi
push dword [ebp - 0x18]
call dword [0x46421c]
push eax
push 0
push dword [ebp + 0xc]
call dword [0x4645dc]
push 0x424
xor eax, eax
push dword [ebx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call edi
lea ecx, [ebp - 0x18]
push ecx
push eax
call dword [0x4645cc]
push 0x424
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [0x4645e4]
push eax
call dword [0x4645cc]
mov eax, dword [ebp - 0x24]
neg eax
push eax
mov eax, dword [ebp - 0x28]
neg eax
push eax
lea eax, [ebp - 0x18]
push eax
call dword [0x4645bc]
lea eax, [ebp - 8]
push eax
call fcn.00407e9f
cmp dword [ebp - 8], esi
pop ecx
je 0x405395
push 0x424
push dword [ebx + 4]
call edi
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
push 4
push eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push eax
push dword [ebp - 4]
push esi
push dword [ebp - 0x14]
call dword [0x46421c]
push eax
push dword [ebp - 8]
push esi
push dword [ebp - 0x18]
call dword [0x46421c]
push eax
push 0
push dword [ebp + 0x14]
call dword [0x4645dc]
push 0x425
xor eax, eax
push dword [ebx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call edi
lea ecx, [ebp - 0x18]
push ecx
push eax
call dword [0x4645cc]
push 0x425
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [0x4645e4]
push eax
call dword [0x4645cc]
mov eax, dword [ebp - 0x24]
neg eax
push eax
mov eax, dword [ebp - 0x28]
neg eax
push eax
lea eax, [ebp - 0x18]
push eax
call dword [0x4645bc]
lea eax, [ebp - 8]
push eax
call fcn.00407e9f
cmp dword [ebp - 8], esi
pop ecx
je 0x405449
push 0x425
push dword [ebx + 4]
call edi
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
push 4
push eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push eax
push dword [ebp - 4]
push esi
push dword [ebp - 0x14]
call dword [0x46421c]
push eax
push dword [ebp - 8]
push esi
push dword [ebp - 0x18]
call dword [0x46421c]
push eax
push 0
push dword [ebp + 0x14]
call dword [0x4645dc]
push 0x44c
xor eax, eax
push dword [ebx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call edi
lea ecx, [ebp - 0x18]
push ecx
push eax
call dword [0x4645cc]
push 0x44c
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [0x4645e4]
push eax
call dword [0x4645cc]
mov eax, dword [ebp - 0x24]
neg eax
push eax
mov eax, dword [ebp - 0x28]
neg eax
push eax
lea eax, [ebp - 0x18]
push eax
call dword [0x4645bc]
lea eax, [ebp - 8]
push eax
call fcn.00407e9f
cmp dword [ebp - 8], esi
pop ecx
je 0x40551d
mov eax, dword [ebp - 0xc]
push dword [ebp - 4]
sub eax, dword [ebp - 0x14]
push esi
push eax
call dword [0x46421c]
push dword [ebp - 8]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push esi
push eax
call dword [0x46421c]
push 0x44c
mov dword [ebp + 0x10], eax
push dword [ebx + 4]
call edi
push 4
mov dword [ebp + 0xc], eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 4]
push esi
push dword [ebp - 0x14]
call dword [0x46421c]
push eax
push dword [ebp - 8]
push esi
push dword [ebp - 0x18]
call dword [0x46421c]
push eax
push 0
push dword [ebp + 0xc]
call dword [0x4645dc]
push 0x44d
xor eax, eax
push dword [ebx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call edi
lea ecx, [ebp - 0x18]
push ecx
push eax
call dword [0x4645cc]
push 0x44d
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [0x4645e4]
push eax
call dword [0x4645cc]
mov eax, dword [ebp - 0x24]
neg eax
push eax
mov eax, dword [ebp - 0x28]
neg eax
push eax
lea eax, [ebp - 0x18]
push eax
call dword [0x4645bc]
lea eax, [ebp - 8]
push eax
call fcn.00407e9f
cmp dword [ebp - 8], esi
pop ecx
je 0x4055d1
push 0x44d
push dword [ebx + 4]
call edi
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
push 4
push eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push eax
push dword [ebp - 4]
push esi
push dword [ebp - 0x14]
call dword [0x46421c]
push eax
push dword [ebp - 8]
push esi
push dword [ebp - 0x18]
call dword [0x46421c]
push eax
push 0
push dword [ebp + 0x14]
call dword [0x4645dc]
push 0x44b
xor eax, eax
push dword [ebx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call edi
lea ecx, [ebp - 0x18]
push ecx
push eax
call dword [0x4645cc]
push 0x44b
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [0x4645e4]
push eax
call dword [0x4645cc]
mov eax, dword [ebp - 0x24]
neg eax
push eax
mov eax, dword [ebp - 0x28]
neg eax
push eax
lea eax, [ebp - 0x18]
push eax
call dword [0x4645bc]
lea eax, [ebp - 8]
push eax
call fcn.00407e9f
cmp dword [ebp - 8], esi
pop ecx
je 0x405685
push 0x44b
push dword [ebx + 4]
call edi
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
push 4
push eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push eax
push dword [ebp - 4]
push esi
push dword [ebp - 0x14]
call dword [0x46421c]
push eax
push dword [ebp - 8]
push esi
push dword [ebp - 0x18]
call dword [0x46421c]
push eax
push 0
push dword [ebp + 0x14]
call dword [0x4645dc]
push 0x452
xor eax, eax
push dword [ebx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call edi
lea ecx, [ebp - 0x18]
push ecx
push eax
call dword [0x4645cc]
push 0x452
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [0x4645e4]
push eax
call dword [0x4645cc]
mov eax, dword [ebp - 0x24]
neg eax
push eax
mov eax, dword [ebp - 0x28]
neg eax
push eax
lea eax, [ebp - 0x18]
push eax
call dword [0x4645bc]
lea eax, [ebp - 8]
push eax
call fcn.00407e9f
cmp dword [ebp - 8], esi
pop ecx
je 0x405759
mov eax, dword [ebp - 0xc]
push dword [ebp - 4]
sub eax, dword [ebp - 0x14]
push esi
push eax
call dword [0x46421c]
push dword [ebp - 8]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push esi
push eax
call dword [0x46421c]
push 0x452
mov dword [ebp + 0x10], eax
push dword [ebx + 4]
call edi
push 4
mov dword [ebp + 0xc], eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 4]
push esi
push dword [ebp - 0x14]
call dword [0x46421c]
push eax
push dword [ebp - 8]
push esi
push dword [ebp - 0x18]
call dword [0x46421c]
push eax
push 0
push dword [ebp + 0xc]
call dword [0x4645dc]
push 0x451
xor eax, eax
push dword [ebx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call edi
lea ecx, [ebp - 0x18]
push ecx
push eax
call dword [0x4645cc]
push 0x451
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [0x4645e4]
push eax
call dword [0x4645cc]
mov eax, dword [ebp - 0x24]
neg eax
push eax
mov eax, dword [ebp - 0x28]
neg eax
push eax
lea eax, [ebp - 0x18]
push eax
call dword [0x4645bc]
lea eax, [ebp - 8]
push eax
call fcn.00407e9f
cmp dword [ebp - 8], esi
pop ecx
je 0x40580d
push 0x451
push dword [ebx + 4]
call edi
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
push 4
push eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push eax
push dword [ebp - 4]
push esi
push dword [ebp - 0x14]
call dword [0x46421c]
push eax
push dword [ebp - 8]
push esi
push dword [ebp - 0x18]
call dword [0x46421c]
push eax
push 0
push dword [ebp + 0x14]
call dword [0x4645dc]
push 0x453
xor eax, eax
push dword [ebx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call edi
lea ecx, [ebp - 0x18]
push ecx
push eax
call dword [0x4645cc]
push 0x453
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [0x4645e4]
push eax
call dword [0x4645cc]
mov eax, dword [ebp - 0x24]
neg eax
push eax
mov eax, dword [ebp - 0x28]
neg eax
push eax
lea eax, [ebp - 0x18]
push eax
call dword [0x4645bc]
lea eax, [ebp - 8]
push eax
call fcn.00407e9f
cmp dword [ebp - 8], esi
pop ecx
je 0x4058c1
push 0x453
push dword [ebx + 4]
call edi
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
push 4
push eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push eax
push dword [ebp - 4]
push esi
push dword [ebp - 0x14]
call dword [0x46421c]
push eax
push dword [ebp - 8]
push esi
push dword [ebp - 0x18]
call dword [0x46421c]
push eax
push 0
push dword [ebp + 0x14]
call dword [0x4645dc]
push 0x455
xor eax, eax
push dword [ebx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call edi
lea ecx, [ebp - 0x18]
push ecx
push eax
call dword [0x4645cc]
push 0x455
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [0x4645e4]
push eax
call dword [0x4645cc]
mov eax, dword [ebp - 0x24]
neg eax
push eax
mov eax, dword [ebp - 0x28]
neg eax
push eax
lea eax, [ebp - 0x18]
push eax
call dword [0x4645bc]
lea eax, [ebp - 8]
push eax
call fcn.00407e9f
cmp dword [ebp - 8], esi
pop ecx
je 0x405995
mov eax, dword [ebp - 0xc]
push dword [ebp - 4]
sub eax, dword [ebp - 0x14]
push esi
push eax
call dword [0x46421c]
push dword [ebp - 8]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push esi
push eax
call dword [0x46421c]
push 0x455
mov dword [ebp + 0x10], eax
push dword [ebx + 4]
call edi
push 4
mov dword [ebp + 0xc], eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 4]
push esi
push dword [ebp - 0x14]
call dword [0x46421c]
push eax
push dword [ebp - 8]
push esi
push dword [ebp - 0x18]
call dword [0x46421c]
push eax
push 0
push dword [ebp + 0xc]
call dword [0x4645dc]
push 0x454
xor eax, eax
push dword [ebx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call edi
lea ecx, [ebp - 0x18]
push ecx
push eax
call dword [0x4645cc]
push 0x454
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [0x4645e4]
push eax
call dword [0x4645cc]
mov eax, dword [ebp - 0x24]
neg eax
push eax
mov eax, dword [ebp - 0x28]
neg eax
push eax
lea eax, [ebp - 0x18]
push eax
call dword [0x4645bc]
lea eax, [ebp - 8]
push eax
call fcn.00407e9f
cmp dword [ebp - 8], esi
pop ecx
je 0x405a49
push 0x454
push dword [ebx + 4]
call edi
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
push 4
push eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push eax
push dword [ebp - 4]
push esi
push dword [ebp - 0x14]
call dword [0x46421c]
push eax
push dword [ebp - 8]
push esi
push dword [ebp - 0x18]
call dword [0x46421c]
push eax
push 0
push dword [ebp + 0x14]
call dword [0x4645dc]
push 0x456
xor eax, eax
push dword [ebx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call edi
lea ecx, [ebp - 0x18]
push ecx
push eax
call dword [0x4645cc]
push 0x456
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [0x4645e4]
push eax
call dword [0x4645cc]
mov eax, dword [ebp - 0x24]
neg eax
push eax
mov eax, dword [ebp - 0x28]
neg eax
push eax
lea eax, [ebp - 0x18]
push eax
call dword [0x4645bc]
lea eax, [ebp - 8]
push eax
call fcn.00407e9f
cmp dword [ebp - 8], esi
pop ecx
je 0x405afd
push 0x456
push dword [ebx + 4]
call edi
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
push 4
push eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push eax
push dword [ebp - 4]
push esi
push dword [ebp - 0x14]
call dword [0x46421c]
push eax
push dword [ebp - 8]
push esi
push dword [ebp - 0x18]
call dword [0x46421c]
push eax
push 0
push dword [ebp + 0x14]
call dword [0x4645dc]
call fcn.0040c647
test eax, eax
je 0x405b39
push 0x452
push dword [ebx + 4]
call edi
mov esi, dword [0x464588]
push 0
push eax
call esi
push 0x451
push dword [ebx + 4]
call edi
push 0
push eax
call esi
push 0x453
push dword [ebx + 4]
call edi
push 0
push eax
call esi
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 0x10