Function at 0x722ba8
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffac
mov byte [esp], dl
mov ebx, eax
mov esi, dword [ebx + 0x94]
mov edi, dword [ebx + 0xa4]
test esi, esi
je 0x723208
test edi, edi
je 0x723208
mov eax, edi
call fcn.0061c11c
test al, al
je 0x723208
mov eax, esi
call fcn.0061c11c
test al, al
je 0x723208
mov eax, ebx
call fcn.00722b78
test al, al
je 0x722c6a
mov eax, esi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
je 0x722c19
push 0
mov eax, esi
call fcn.0061bcb4
push eax
call fcn.00760026
mov eax, edi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
je 0x722c39
push 0
mov eax, edi
call fcn.0061bcb4
push eax
call fcn.00760026
mov eax, dword [ebx + 0x9c]
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
je 0x723208
push 0
mov eax, dword [ebx + 0x9c]
call fcn.0061bcb4
push eax
call fcn.00760026
jmp 0x723208
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.007235bc
mov dword [esp + 4], 0x7fffffff
mov dword [esp + 8], 0x7fffffff
mov dword [esp + 0xc], 0x80000001
mov dword [esp + 0x10], 0x80000001
mov eax, ebx
call fcn.00723bf8
call fcn.0070f9a4
dec eax
test eax, eax
jl 0x722da8
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.00723bf8
mov edx, ebp
call fcn.0070f9f0
cmp byte [eax + 0x69], 0
je 0x722d9d
mov eax, ebx
call fcn.00723bf8
mov edx, ebp
call fcn.0070f9f0
call fcn.0061bcb4
cmp eax, dword [ebx + 0x44]
je 0x722d9d
mov eax, ebx
call fcn.00723bf8
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.0070f9f0
call fcn.0061bcb4
push eax
call fcn.0075fe46
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x3d0]
push eax
call fcn.0075fe46
mov ecx, dword [esp + 0x48]
neg ecx
mov edx, dword [esp + 0x44]
neg edx
lea eax, [esp + 0x34]
call fcn.004224a4
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x722d47
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x722d55
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call int.00421d10
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x722d79
lea eax, [esp + 0x34]
call int.00421d10
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call int.00421d20
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x722d9d
lea eax, [esp + 0x34]
call int.00421d20
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x722cb6
cmp dword [esp + 4], 0
jl 0x722dc2
lea eax, [esp + 0x24]
call int.00421d10
cmp eax, dword [esp + 0xc]
jl 0x722dc2
xor eax, eax
jmp 0x722dc4
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x722de2
lea eax, [esp + 0x24]
call int.00421d20
cmp eax, dword [esp + 0x10]
jl 0x722de2
xor eax, eax
jmp 0x722de4
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x722e19
cmp byte [esp + 0x19], 0
jne 0x722e19
cmp dword [esp + 4], 0
jl 0x722e13
lea eax, [esp + 0x24]
call int.00421d10
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x722e13
xor eax, eax
jmp 0x722e15
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x722e4a
cmp byte [esp + 0x1a], 0
jne 0x722e4a
cmp dword [esp + 8], 0
jl 0x722e44
lea eax, [esp + 0x24]
call int.00421d20
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x722e44
xor eax, eax
jmp 0x722e46
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x722ea4
mov eax, esi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
jne 0x722ea4
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call int.00421d10
push eax
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x5c]
push eax
mov eax, dword [esp + 0x34]
push eax
push 0
mov eax, esi
call fcn.0061bcb4
push eax
call fcn.0075fffc
push 5
mov eax, esi
call fcn.0061bcb4
push eax
call fcn.00760026
mov byte [esp + 0x18], 1
jmp 0x722ed0
cmp byte [esp + 0x19], 0
jne 0x722ed0
mov eax, esi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
je 0x722ed0
push 0
mov eax, esi
call fcn.0061bcb4
push eax
call fcn.00760026
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x722f64
mov eax, edi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
jne 0x722f64
cmp byte [esp + 0x19], 0
je 0x722f23
push 0x40
lea eax, [esp + 0x28]
call int.00421d20
sub eax, dword [esi + 0x5c]
push eax
mov ebp, dword [edi + 0x58]
push ebp
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, edi
call fcn.0061bcb4
push eax
call fcn.0075fffc
jmp 0x722f4e
push 0x40
lea eax, [esp + 0x28]
call int.00421d20
push eax
mov ebp, dword [edi + 0x58]
push ebp
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, edi
call fcn.0061bcb4
push eax
call fcn.0075fffc
push 5
mov eax, edi
call fcn.0061bcb4
push eax
call fcn.00760026
mov byte [esp + 0x18], 1
jmp 0x722f90
cmp byte [esp + 0x1a], 0
jne 0x722f90
mov eax, edi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
je 0x722f90
push 0
mov eax, edi
call fcn.0061bcb4
push eax
call fcn.00760026
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call int.00421d10
mov ebp, eax
lea eax, [esp + 0x24]
call int.00421d20
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.0072339c
mov eax, esi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
je 0x72305c
cmp dword [esp + 4], 0
jle 0x722fd1
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call int.00421d10
cmp eax, dword [esp + 0xc]
jle 0x722fed
lea eax, [esp + 0x24]
call int.00421d10
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x72304e
mov byte [ebx + 0xa0], 1
mov eax, edi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
je 0x723019
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.00642308
jmp 0x723022
mov edx, ebp
mov eax, esi
call fcn.00642308
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 4]
dec eax
push eax
mov edx, dword [esp + 8]
neg edx
xor ecx, ecx
mov eax, esi
call fcn.00642130
mov eax, dword [esi + 0x2b4]
mov dword [ebx + 0xc0], eax
mov byte [ebx + 0xa0], 0
movzx eax, word [esi + 0x2c0]
mov word [esi + 0x2ca], ax
mov eax, edi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
je 0x72310d
cmp dword [esp + 8], 0
jle 0x72307e
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call int.00421d20
cmp eax, dword [esp + 0x10]
jle 0x72309a
lea eax, [esp + 0x24]
call int.00421d20
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x7230ff
mov byte [ebx + 0xa1], 1
mov eax, esi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
je 0x7230c8
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.00642308
jmp 0x7230d3
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.00642308
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 8]
dec eax
push eax
mov edx, dword [esp + 0xc]
neg edx
xor ecx, ecx
mov eax, edi
call fcn.00642130
mov eax, dword [edi + 0x2b4]
mov dword [ebx + 0xc4], eax
mov byte [ebx + 0xa1], 0
movzx eax, word [edi + 0x2c0]
mov word [edi + 0x2ca], ax
mov eax, esi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
jne 0x723134
mov eax, edi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
jne 0x723134
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
je 0x7231ac
mov eax, edi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
je 0x7231ac
mov eax, dword [ebx + 0x9c]
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
jne 0x7231ac
push 0x40
mov eax, dword [esi + 0x5c]
push eax
mov ebp, dword [edi + 0x58]
push ebp
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x5c]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, dword [ebx + 0x9c]
call fcn.0061bcb4
push eax
call fcn.0075fffc
push 5
mov eax, dword [ebx + 0x9c]
call fcn.0061bcb4
push eax
call fcn.00760026
jmp 0x7231f6
mov eax, esi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
je 0x7231e3
mov eax, edi
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
jne 0x7231f6
mov eax, dword [ebx + 0x9c]
call fcn.0061bcb4
push eax
call fcn.0075fe9a
test eax, eax
je 0x7231f6
push 0
mov eax, dword [ebx + 0x9c]
call fcn.0061bcb4
push eax
call fcn.00760026
cmp byte [esp + 0x18], 0
je 0x723208
movzx edx, byte [esp]
mov eax, ebx
call fcn.00722ba8
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret