Function at 0x4cc830
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
mov eax, dword [0x6d005c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x6d1d00], 0
push esi
mov esi, ecx
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1f4], esi
je 0x4cd407
cmp dword [esi + 0xa50], 0
jne 0x4cd407
cmp dword [0x6e0158], 0
je 0x4cd407
cmp dword [0x6d1d40], 7
jne 0x4cd407
push ebx
push 0x58
mov ecx, edi
call fcn.00522bf0
mov ebx, 1
cmp eax, ebx
jne 0x4cc8ac
mov ecx, dword [0x6d24f0]
mov edx, dword [0x6e0158]
mov eax, dword [ecx]
mov eax, dword [eax + 0x64]
push edx
push ebx
call eax
cmp dword [0x6effb0], 0
mov dword [ebp - 0x208], 0
je 0x4cc8cd
cmp dword [esi + 0xa4c], ebx
jne 0x4cc8cd
mov dword [ebp - 0x208], ebx
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cc8df
mov ebx, 4
push 0x1d
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cc8f2
and ebx, 0xfffffffe
or ebx, 2
push 0x2a
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cc905
and ebx, 0xfffffffe
or ebx, 8
xor esi, esi
jmp 0x4cc910
cmp dword [ebp - 0x208], 0
mov ecx, dword [ebp - 0x1f4]
je 0x4cc93d
mov eax, dword [ecx + 0xa4c]
imul eax, eax, 0x29
add eax, esi
lea edx, [eax*8]
sub edx, eax
cmp dword [ecx + edx*2 + 0x486], 0
je 0x4cc9a5
mov eax, dword [ecx + 0xa4c]
imul eax, eax, 0x29
add eax, esi
lea edx, [eax*8]
sub edx, eax
test dword [ecx + edx*2 + 0x480], ebx
lea ecx, [ecx + edx*2]
je 0x4cc9a5
add eax, 0x53
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ebp - 0x1f4]
cmp dword [eax + edx*2], 0
je 0x4cc986
movzx ecx, word [ecx + 0x484]
push ecx
mov ecx, edi
call fcn.00522b80
jmp 0x4cc995
movzx edx, word [ecx + 0x484]
push edx
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4cc9a5
mov ecx, dword [ebp - 0x1f4]
push esi
call fcn.004cb0c0
inc esi
cmp esi, 0x29
jl 0x4cc910
push 0x13
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4cca95
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cca95
push 0
push 0x3880
mov ecx, 0x70c980
call fcn.0054a140
test eax, eax
je 0x4cca0d
push 0x5b28d4
push 0x1d
push 0x6e1fd8
call fcn.004d1fb0
add esp, 0xc
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0057a0a3
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [0x6d23e8]
cmp dword [ecx + 0xe], 0
jne 0x4cca47
cmp dword [0x6ede84], 0
je 0x4cca63
push 0x283
mov ecx, 0x6e1fd8
call fcn.004d0c40
push eax
push 0x1d
push 0x6e1fd8
call fcn.004d1fb0
mov ecx, dword [0x6d23e8]
add esp, 0xc
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0
call edx
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0057a0a3
mov esp, ebp
pop ebp
ret 4
mov eax, dword [0x6ca90c]
cmp byte [eax + 0x6dfd48], 0
je 0x4cca8c
push 0x5a8628
push 1
push 0x3aba
push 0x6df860
call fcn.00445890
add esp, 0x10
jmp 0x4cca95
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
push 0xc7
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4ccac6
mov ecx, dword [0x6d2308]
test ecx, ecx
je 0x4cd406
cmp dword [ecx + 0xe], 0
mov edx, dword [ecx]
mov eax, dword [edx + 8]
je 0x4ccac2
push 0
jmp 0x4ccac4
push 1
call eax
push 0x14
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4ccb21
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4ccb21
mov esi, dword [0x6d253c]
test esi, esi
je 0x4cd406
cmp dword [esi + 0xe], 0
mov ecx, esi
je 0x4ccb08
push 1
call fcn.00449f60
mov ecx, esi
call fcn.00449f00
push 0
jmp 0x4ccb18
push 0
call fcn.00449f60
mov ecx, esi
call fcn.00449eb0
push 1
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
push 0x3f
mov ecx, edi
call fcn.00522b40
push 0x41
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4ccb5b
push 0x8e6
mov ecx, 0x6e1fd8
call fcn.004d0c40
push eax
push 2
push 0x3ab5
push 0x6df860
call fcn.00445890
add esp, 0x10
push 0x57
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4ccba8
call fcn.0040ce30
mov ecx, eax
call fcn.0051d7f0
test eax, eax
jne 0x4ccb91
call fcn.0040ce30
mov ecx, eax
call fcn.0051d800
mov ecx, dword [0x6d257c]
call fcn.0051d740
jmp 0x4ccba8
call fcn.0040ce30
mov ecx, eax
call fcn.0051d9f0
mov ecx, dword [0x6d257c]
call fcn.0051d710
push 0x10
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4ccbec
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4ccbec
mov ecx, dword [0x6d1cec]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4ccbde
mov edx, dword [0x6d1cec]
push 0
push edx
jmp 0x4ccbe6
mov eax, dword [0x6d1cec]
push 8
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [0x6e1024], 0
je 0x4cd406
push 0x22
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4ccc2d
push 0x1d
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4ccc2d
mov ecx, dword [0x6d24c4]
test ecx, ecx
je 0x4ccc2d
mov edx, dword [ecx]
mov edx, dword [edx + 8]
xor eax, eax
cmp dword [ecx + 0xe], eax
sete al
push eax
call edx
push 0x13
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4ccc61
push 0x1d
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4ccc61
mov ecx, dword [0x6d24c8]
test ecx, ecx
je 0x4ccc61
mov eax, dword [ecx]
mov eax, dword [eax + 8]
xor edx, edx
cmp dword [ecx + 0xe], edx
sete dl
push edx
call eax
push 0x20
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4ccc94
push 0x1d
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4ccc94
mov ecx, dword [0x6d2500]
cmp dword [ecx + 0xe], 1
mov edx, dword [ecx]
mov eax, dword [edx + 8]
jne 0x4ccc90
push 0
jmp 0x4ccc92
push 1
call eax
push 0x3b
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4cccbf
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cccbf
xor ecx, ecx
cmp dword [0x70ab5c], ecx
sete cl
mov dword [0x70ab5c], ecx
push 0xe
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4ccce3
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4ccce3
mov ecx, 0x6df860
call fcn.00442340
push 0x19
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4ccd1b
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4ccd1b
mov eax, dword [ebp - 0x1f4]
xor dword [eax + 0xa58], 1
mov eax, dword [eax + 0xa58]
push eax
mov ecx, 0x6d3a90
call fcn.00425010
push 0x2e
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4ccd4e
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4ccd4e
cmp dword [0x70cd48], 4
mov ecx, 0x70cd30
jne 0x4ccd47
push 0
jmp 0x4ccd49
push 4
call fcn.00552cf0
push 0x1e
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4ccd90
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4ccd90
mov esi, dword [0x6d24a8]
test esi, esi
je 0x4ccd90
mov edx, dword [esi]
mov edx, dword [edx + 8]
xor eax, eax
cmp dword [esi + 0xe], eax
mov ecx, esi
sete al
push eax
call edx
push 0x5b28c0
mov ecx, esi
call fcn.0047f730
push 0x1f
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4ccdc4
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4ccdc4
mov ecx, dword [0x6d2478]
test ecx, ecx
je 0x4ccdc4
mov eax, dword [ecx]
mov eax, dword [eax + 8]
xor edx, edx
cmp dword [ecx + 0xe], edx
sete dl
push edx
call eax
push 0x26
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4cd031
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cd031
mov esi, dword [0x6d247c]
test esi, esi
je 0x4cd031
mov ecx, dword [0x5b28b4]
mov edx, dword [0x5b28b8]
movzx eax, word [0x5b28bc]
mov dword [ebp - 0x44], ecx
movzx ecx, byte [0x5b28be]
mov dword [ebp - 0x40], edx
lea edx, [ebp - 0x1c8]
mov byte [ebp - 0x3a], cl
push edx
mov ecx, esi
mov word [ebp - 0x2f], 0x800
mov dword [ebp - 0x1c8], 2
mov word [ebp - 0x3c], ax
call fcn.0047e500
mov eax, dword [0x5b28a8]
mov ecx, dword [0x5b28ac]
movzx edx, word [0x5b28b0]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], eax
movzx eax, byte [0x5b28b2]
lea ecx, [ebp - 0x1c8]
push ecx
mov ecx, esi
mov word [ebp - 0x2f], 0x2001
mov dword [ebp - 0x1c8], 4
mov word [ebp - 0x3c], dx
mov byte [ebp - 0x3a], al
call fcn.0047e500
mov edx, dword [0x5b289c]
mov eax, dword [0x5b28a0]
movzx ecx, word [0x5b28a4]
mov dword [ebp - 0x44], edx
movzx edx, byte [0x5b28a6]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x1c8]
mov word [ebp - 0x3c], cx
mov ebx, 6
push eax
mov ecx, esi
mov word [ebp - 0x2f], 0x1002
mov dword [ebp - 0x1c8], ebx
mov byte [ebp - 0x3a], dl
call fcn.0047e500
mov ecx, dword [0x5b2890]
mov edx, dword [0x5b2894]
movzx eax, word [0x5b2898]
mov dword [ebp - 0x44], ecx
movzx ecx, byte [0x5b289a]
mov dword [ebp - 0x40], edx
lea edx, [ebp - 0x1c8]
mov byte [ebp - 0x3a], cl
push edx
mov ecx, esi
mov word [ebp - 0x2f], 0x2003
mov dword [ebp - 0x1c8], 8
mov word [ebp - 0x3c], ax
call fcn.0047e500
mov eax, dword [0x5b2884]
mov ecx, dword [0x5b2888]
movzx edx, word [0x5b288c]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], eax
movzx eax, byte [0x5b288e]
lea ecx, [ebp - 0x1c8]
push ecx
mov ecx, esi
mov word [ebp - 0x2f], 0x2004
mov dword [ebp - 0x1c8], 0xa
mov word [ebp - 0x3c], dx
mov byte [ebp - 0x3a], al
call fcn.0047e500
mov edx, dword [0x5b2878]
movzx ecx, word [0x5b2880]
mov eax, dword [0x5b287c]
mov dword [ebp - 0x44], edx
movzx edx, byte [0x5b2882]
mov word [ebp - 0x2f], 0x405
mov dword [ebp - 0x1c8], 0xc
mov dword [ebp - 0x40], eax
mov word [ebp - 0x3c], cx
mov byte [ebp - 0x3a], dl
lea eax, [ebp - 0x1c8]
push eax
mov ecx, esi
call fcn.0047e500
mov ecx, dword [0x5b286c]
mov edx, dword [0x5b2870]
movzx eax, word [0x5b2874]
mov dword [ebp - 0x44], ecx
movzx ecx, byte [0x5b2876]
mov dword [ebp - 0x40], edx
lea edx, [ebp - 0x1c8]
mov byte [ebp - 0x3a], cl
push edx
mov ecx, esi
mov word [ebp - 0x2f], 0x1006
mov dword [ebp - 0x1c8], 0xe
mov word [ebp - 0x3c], ax
call fcn.0047e500
mov eax, dword [0x5b2860]
mov ecx, dword [0x5b2864]
movzx edx, word [0x5b2868]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], eax
movzx eax, byte [0x5b286a]
lea ecx, [ebp - 0x1c8]
push ecx
mov ecx, esi
mov word [ebp - 0x2f], 0x2007
mov dword [ebp - 0x1c8], 0x10
mov word [ebp - 0x3c], dx
mov byte [ebp - 0x3a], al
call fcn.0047e500
mov edx, dword [esi]
mov edx, dword [edx + 8]
xor eax, eax
cmp dword [esi + 0xe], eax
mov ecx, esi
sete al
push eax
call edx
mov ecx, esi
call fcn.0047ea80
push 0x24
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4cd1e6
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cd1e6
lea eax, [ebp - 0x1eb]
push 0x5b2854
push eax
mov byte [ebp - 0x1f0], 0
call fcn.0057a74f
lea ecx, [ebp - 0x1da]
push 0x5b2848
push ecx
call fcn.0057a74f
lea edx, [ebp - 0x27]
push 0x5b2840
push edx
mov byte [ebp - 0x2c], 1
call fcn.0057a74f
lea eax, [ebp - 0x16]
push 0x5b2838
push eax
call fcn.0057a74f
mov esi, dword [0x6d2480]
add esp, 0x20
test esi, esi
je 0x4cd1e6
lea ecx, [ebp - 0x1f0]
push ecx
mov ecx, esi
mov dword [esi + 0x236], 1
call fcn.0047d350
lea edx, [ebp - 0x2c]
push edx
mov ecx, esi
call fcn.0047d350
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.0047d350
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, esi
call fcn.0047d350
lea edx, [ebp - 0x2c]
push edx
mov ecx, esi
call fcn.0047d350
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.0047d350
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, esi
call fcn.0047d350
lea edx, [ebp - 0x2c]
push edx
mov ecx, esi
call fcn.0047d350
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.0047d350
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, esi
call fcn.0047d350
lea edx, [ebp - 0x2c]
push edx
mov ecx, esi
call fcn.0047d350
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.0047d350
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, esi
call fcn.0047d350
lea edx, [ebp - 0x2c]
push edx
mov ecx, esi
call fcn.0047d350
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.0047d350
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, esi
call fcn.0047d350
lea edx, [ebp - 0x2c]
push edx
mov ecx, esi
call fcn.0047d350
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.0047d350
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, esi
call fcn.0047d350
lea edx, [ebp - 0x2c]
push edx
mov ecx, esi
call fcn.0047d350
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.0047d350
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, esi
call fcn.0047d350
lea edx, [ebp - 0x2c]
push edx
mov ecx, esi
call fcn.0047d350
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.0047d350
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, esi
call fcn.0047d350
mov ecx, esi
call fcn.0047d460
mov edx, dword [esi]
mov edx, dword [edx + 8]
xor eax, eax
cmp dword [esi + 0xe], eax
mov ecx, esi
sete al
push eax
call edx
push 0x23
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4cd21a
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cd21a
mov ecx, dword [0x6d2484]
test ecx, ecx
je 0x4cd21a
mov eax, dword [ecx]
mov eax, dword [eax + 8]
xor edx, edx
cmp dword [ecx + 0xe], edx
sete dl
push edx
call eax
push 0x22
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4cd24d
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cd24d
mov ecx, dword [0x6d22c8]
cmp dword [ecx + 0xe], 0
mov edx, dword [ecx]
mov eax, dword [edx + 8]
jne 0x4cd249
push 1
jmp 0x4cd24b
push 0
call eax
push 0x25
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4cd263
push 0x38
mov ecx, edi
call fcn.00522bf0
push 0x20
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4cd296
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cd296
mov ecx, dword [0x6d24fc]
cmp dword [ecx + 0xe], 0
mov edx, dword [ecx]
mov eax, dword [edx + 8]
jne 0x4cd292
push 1
jmp 0x4cd294
push 0
call eax
cmp dword [ebp - 0x208], 1
je 0x4cd406
push 0x17
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4cd2eb
push 0x38
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cd2eb
mov ecx, dword [0x6e0164]
mov word [ebp - 0x1ff], 0x7f05
mov edx, dword [ecx + 0x125]
push 9
lea eax, [ebp - 0x200]
push eax
mov ecx, 0x6f0448
mov dword [ebp - 0x1fd], edx
call fcn.00523ca0
push 0x31
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4cd31f
push 0x1d
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cd31f
mov ecx, dword [0x6d24b0]
test ecx, ecx
je 0x4cd31f
mov edx, dword [ecx]
mov edx, dword [edx + 8]
xor eax, eax
cmp dword [ecx + 0xe], eax
sete al
push eax
call edx
push 0x15
mov ecx, edi
call fcn.00522b40
mov bl, 0x3c
test eax, eax
je 0x4cd370
push 0x1d
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cd370
mov eax, dword [0x6e0158]
push 0xd
lea ecx, [ebp - 0x204]
push ecx
mov ecx, 0x6f0448
mov byte [ebp - 0x203], bl
mov byte [ebp - 0x202], 0x29
mov dword [ebp - 0x201], eax
mov dword [ebp - 0x1fb], 2
call fcn.00523ca0
push 0x10
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4cd3b6
push 0x1d
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cd3b6
mov edx, dword [0x6e0158]
push 9
lea eax, [ebp - 0x200]
push eax
mov ecx, 0x6f0448
mov byte [ebp - 0x1ff], bl
mov byte [ebp - 0x1fe], 1
mov dword [ebp - 0x1fd], edx
call fcn.00523ca0
push 0x1e
mov ecx, edi
call fcn.00522b40
test eax, eax
je 0x4cd406
push 0x1d
mov ecx, edi
call fcn.00522bf0
test eax, eax
je 0x4cd406
mov ecx, dword [0x6e0158]
push 0xd
lea edx, [ebp - 0x204]
mov dword [ebp - 0x201], ecx
push edx
mov ecx, 0x6f0448
mov byte [ebp - 0x203], bl
mov byte [ebp - 0x202], 0x29
mov dword [ebp - 0x1fb], 1
call fcn.00523ca0
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0057a0a3
mov esp, ebp
pop ebp
ret 4