Function at 0x493060
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push edi
mov edi, ecx
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 8]
cmp ecx, 2
jne 0x493088
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4935a9
mov eax, dword [eax]
mov dword [ebp - 4], eax
push ebx
push esi
mov dword [edi + 0x3d8], ecx
mov dword [edi + 0x3e0], 0x41
mov dword [edi + 0x3dc], 0
mov dword [ebp - 8], 0
mov dword [ebp + 0xc], 0
call fcn.004814f0
mov esi, eax
mov bl, byte [esi]
call fcn.004814f0
push 0
lea eax, [ebp + 0xc]
xor ecx, ecx
push eax
lea eax, [ebp - 8]
test bl, bl
push eax
lea eax, [esi + 4]
cmovne ecx, eax
push ecx
push 0x787a18
call fcn.00481640
mov eax, dword [ebp + 8]
dec eax
mov dword [ebp + 8], eax
cmp eax, 4
ja case.default.0x4930ef
jmp dword [eax*4 + 0x4935b0]
lea esi, [edi + 0x18c]
mov dword [edi + 0x188], 4
push 5
mov ecx, esi
call fcn.0049a590
cmp byte [esi + 0x114], 0
je 0x49311d
add esi, 4
jmp 0x49311f
mov esi, dword [esi]
movq xmm0, qword [0x78665c]
movq qword [esi + 4], xmm0
mov ax, word [0x786664]
mov word [esi + 0xc], ax
lea esi, [edi + 0x2b0]
push 0x11
mov ecx, esi
mov dword [edi + 0x2ac], 0x10
call fcn.0049a590
cmp byte [esi + 0x114], 0
je 0x49315d
add esi, 4
jmp 0x49315f
mov esi, dword [esi]
movups xmm0, xmmword [0x787a24]
movups xmmword [esi + 4], xmm0
movups xmm0, xmmword [0x787a34]
movups xmmword [esi + 0x14], xmm0
mov ax, word [0x787a44]
mov word [esi + 0x24], ax
mov dword [edi + 0x3dc], 0x43
mov esi, dword [edi + 0x3cc]
cmp byte [esi + 0x30], 1
je 0x4931a2
mov eax, dword [esi]
mov ecx, esi
push 1
mov byte [esi + 0x30], 1
call dword [eax + 0x48]
cmp dword [esi + 0x8c], esi
je 0x4931ae
mov byte [esi + 0x64], 1
mov esi, dword [edi + 0x3d0]
cmp byte [esi + 0x30], 0
je 0x4931c7
mov eax, dword [esi]
mov ecx, esi
push 0
mov byte [esi + 0x30], 0
call dword [eax + 0x48]
cmp dword [esi + 0x8c], esi
je 0x4931d3
mov byte [esi + 0x64], 1
mov esi, dword [edi + 0x3d4]
cmp byte [esi + 0x30], 0
je 0x4931ec
mov byte [esi + 0x30], 0
mov ecx, esi
mov eax, dword [esi]
push 0
call dword [eax + 0x48]
cmp dword [esi + 0x8c], esi
je 0x4931f8
mov byte [esi + 0x64], 1
mov eax, 0x786590
jmp 0x4934e1
lea esi, [edi + 0x18c]
mov dword [edi + 0x188], 4
push 5
mov ecx, esi
call fcn.0049a590
cmp byte [esi + 0x114], 0
je 0x493229
add esi, 4
jmp 0x49322b
mov esi, dword [esi]
movq xmm0, qword [0x787a48]
lea ebx, [edi + 0x2a8]
movq qword [esi + 4], xmm0
mov ax, word [0x787a50]
mov word [esi + 0xc], ax
lea esi, [edi + 0x2b0]
push 2
mov ecx, esi
mov dword [edi + 0x2ac], 1
call fcn.0049a590
cmp byte [esi + 0x114], 0
je 0x49326f
add esi, 4
jmp 0x493271
mov esi, dword [esi]
push dword [ebp - 4]
mov eax, dword [0x787a54]
push 0x791e60
push ebx
mov dword [esi + 4], eax
call fcn.0049a160
push 0x787a58
push 0x791e68
push ebx
call fcn.0049a160
add esp, 0x18
mov dword [edi + 0x3dc], 0x35
jmp 0x493189
lea esi, [edi + 0x18c]
mov dword [edi + 0x188], 9
push 0xa
mov ecx, esi
call fcn.0049a590
cmp byte [esi + 0x114], 0
je 0x4932d0
add esi, 4
jmp 0x4932d2
mov esi, dword [esi]
movups xmm0, xmmword [0x7865a4]
movups xmmword [esi + 4], xmm0
mov eax, dword [0x7865b4]
mov dword [esi + 0x14], eax
cmp dword [edi + 0x3c8], 0
je 0x4932f8
mov dword [edi + 0x3c8], 0
lea esi, [edi + 0x2b0]
mov dword [edi + 0x2ac], 0
push 1
mov ecx, esi
call fcn.0049a590
cmp byte [esi + 0x114], 0
je 0x49331f
add esi, 4
jmp 0x493321
mov esi, dword [esi]
xor eax, eax
mov word [esi + 4], ax
mov dword [edi + 0x3dc], 0x5f
jmp 0x493189
lea esi, [edi + 0x18c]
mov dword [edi + 0x188], 4
push 5
mov ecx, esi
call fcn.0049a590
cmp byte [esi + 0x114], 0
je 0x49335d
add esi, 4
jmp 0x49335f
mov esi, dword [esi]
movq xmm0, qword [0x787a18]
movq qword [esi + 4], xmm0
mov ax, word [0x787a20]
mov word [esi + 0xc], ax
lea esi, [edi + 0x2b0]
push 0xf
mov ecx, esi
mov dword [edi + 0x2ac], 0xe
call fcn.0049a590
cmp byte [esi + 0x114], 0
je 0x49339d
add esi, 4
jmp 0x49339f
mov esi, dword [esi]
movups xmm0, xmmword [str.USN]
movups xmmword [esi + 4], xmm0
movq xmm0, qword [0x787a88]
movq qword [esi + 0x14], xmm0
mov eax, dword [str.W_]
mov dword [esi + 0x1c], eax
mov ax, word [0x787a94]
mov word [esi + 0x20], ax
mov dword [edi + 0x3dc], 0x49
jmp 0x493189
lea esi, [edi + 0x18c]
mov dword [edi + 0x188], 0xc
push 0xd
mov ecx, esi
call fcn.0049a590
cmp byte [esi + 0x114], 0
je 0x4933ff
add esi, 4
jmp 0x493401
mov esi, dword [esi]
movups xmm0, xmmword [0x787a98]
movups xmmword [esi + 4], xmm0
movq xmm0, qword [0x787aa8]
movq qword [esi + 0x14], xmm0
mov ax, word [0x787ab0]
mov word [esi + 0x1c], ax
cmp dword [edi + 0x3c8], 0
je 0x493436
mov dword [edi + 0x3c8], 0
lea esi, [edi + 0x2b0]
mov dword [edi + 0x2ac], 0
push 1
mov ecx, esi
call fcn.0049a590
cmp byte [esi + 0x114], 0
je 0x49345d
add esi, 4
jmp 0x49345f
mov esi, dword [esi]
xor eax, eax
mov word [esi + 4], ax
mov esi, dword [edi + 0x3cc]
mov dword [edi + 0x3dc], 0x52
cmp byte [esi + 0x30], al
je 0x493486
mov byte [esi + 0x30], al
mov ecx, esi
mov eax, dword [esi]
push 0
call dword [eax + 0x48]
cmp dword [esi + 0x8c], esi
je 0x493492
mov byte [esi + 0x64], 1
mov esi, dword [edi + 0x3d0]
cmp byte [esi + 0x30], 1
je 0x4934ab
mov eax, dword [esi]
mov ecx, esi
push 1
mov byte [esi + 0x30], 1
call dword [eax + 0x48]
cmp dword [esi + 0x8c], esi
je 0x4934b7
mov byte [esi + 0x64], 1
mov esi, dword [edi + 0x3d4]
cmp byte [esi + 0x30], 1
je 0x4934d0
mov eax, dword [esi]
mov ecx, esi
push 1
mov byte [esi + 0x30], 1
call dword [eax + 0x48]
cmp dword [esi + 0x8c], esi
je case.default.0x4934ea
mov byte [esi + 0x64], 1
mov eax, 0x78659c
mov dword [edi + 0x178], eax
mov eax, dword [ebp + 8]
jmp dword [eax*4 + 0x4935c4]
mov edx, dword [edi + 0x180]
mov eax, dword [edi + 0x3dc]
mov esi, dword [ebp + 0xc]
add eax, 0xa
add eax, dword [edx + 0x18]
mov dword [edi + 0x3e4], eax
mov dword [edi + 0x3ec], eax
lea ecx, [esi + esi]
mov eax, dword [edx + 0x1c]
sub eax, ecx
sub eax, 5
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi + 0x3e0]
mov dword [edi + 0x3e8], eax
add eax, 5
add eax, esi
pop esi
pop ebx
mov dword [edi + 0x3f0], eax
pop edi
mov esp, ebp
pop ebp
ret 8
mov edx, dword [edi + 0x180]
mov eax, dword [edi + 0x3dc]
add eax, 0xa
pop esi
add eax, dword [edx + 0x18]
mov dword [edi + 0x3e4], eax
mov eax, dword [edx + 0x1c]
sub eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi + 0x3e0]
pop ebx
mov dword [edi + 0x3e8], eax
pop edi
mov esp, ebp
pop ebp
ret 8
cmp byte [edi + 0x30], 0
je 0x49358d
mov eax, dword [edi]
mov ecx, edi
push 0
mov byte [edi + 0x30], 0
call dword [eax + 0x48]
cmp dword [edi + 0x8c], edi
je 0x493599
mov byte [edi + 0x64], 1
push 0
push dword [edi + 0x104]
call dword [sym.imp.USER32.dll_ShowWindow]
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret 8