Function at 0x52cb18
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x11
push 0
push 0
dec ecx
jne 0x52cb21
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov byte [ebp - 0xd], cl
mov dword [ebp - 0xc], edx
mov ebx, eax
mov eax, dword [ebp - 0xc]
call fcn.00404044
lea eax, [ebp - 0x85]
mov edx, dword [0x5090c8]
call fcn.004044ac
mov esi, dword [0x54988c]
xor eax, eax
push ebp
push 0x52d595
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
mov edx, dword [esi]
call fcn.00403fa0
jne 0x52d08b
lea eax, [ebp - 4]
mov edx, dword [0x54c1c8]
call fcn.00403cac
mov eax, dword [ebp - 4]
mov edx, dword [esi]
call fcn.00403fa0
je 0x52d549
lea eax, [ebp - 0x8c]
push eax
mov ecx, 7
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00404094
mov eax, dword [ebp - 0x8c]
mov edx, 0x52d5ac
call fcn.00403fa0
jne 0x52cc6b
lea eax, [ebp - 0x14]
mov edx, dword [esi]
call fcn.00403cac
lea eax, [ebp - 4]
mov ecx, 8
mov edx, 1
call fcn.004040d4
mov eax, dword [ebp - 4]
call fcn.00403e90
test eax, eax
jle 0x52cc2b
mov dword [ebp - 0x50], eax
mov dword [ebp - 8], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
cmp byte [eax + edx - 1], 0x22
je 0x52cc2b
lea eax, [ebp - 0x8c]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov dl, byte [edx + ecx - 1]
call fcn.00403db8
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 0x14]
call fcn.00403e98
inc dword [ebp - 8]
dec dword [ebp - 0x50]
jne 0x52cbf3
mov eax, dword [ebp - 0x14]
call fcn.00403e90
mov ecx, eax
inc ecx
lea eax, [ebp - 4]
mov edx, 1
call fcn.004040d4
mov eax, dword [ebx + 0x2c8]
mov eax, dword [eax + 0x3a8]
mov edx, dword [ebp - 0x14]
call fcn.004b9ef4
mov eax, dword [ebx + 0x2cc]
mov eax, dword [eax + 0x3a8]
mov edx, dword [ebp - 0x14]
call fcn.004b9ef4
mov eax, dword [ebp - 4]
call fcn.00404054
mov edi, eax
cmp byte [edi], 0x2d
jne 0x52cd67
cmp byte [edi + 1], 0x63
jne 0x52ccbd
mov dl, byte [edi + 2]
lea eax, [ebp - 0x8c]
call fcn.00403db8
mov eax, dword [ebp - 0x8c]
xor edx, edx
call fcn.004090d0
mov byte [0x54c553], al
xor edx, edx
mov eax, dword [ebx + 0x4e0]
call fcn.0044dd08
push ebp
call fcn.0052cabc
pop ecx
jmp 0x52cb92
lea eax, [ebp - 0x8c]
push eax
mov ecx, 5
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00404094
mov eax, dword [ebp - 0x8c]
mov edx, 0x52d5bc
call fcn.00403fa0
jne 0x52ccff
mov eax, dword [ebx + 0x57c]
call fcn.004be4fc
push ebp
call fcn.0052cabc
pop ecx
jmp 0x52cb92
lea eax, [ebp - 0x8c]
push eax
mov ecx, 4
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00404094
mov eax, dword [ebp - 0x8c]
mov edx, 0x52d5cc
call fcn.00403fa0
jne 0x52cd67
mov eax, dword [ebx + 0x57c]
mov byte [eax + 0xb6], 0
push 6
mov eax, dword [0x549798]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x57c]
mov dl, byte [0x54c52d]
mov byte [eax + 0xb6], dl
push ebp
call fcn.0052cabc
pop ecx
jmp 0x52cb92
mov eax, dword [ebp - 4]
mov edx, dword [esi]
call fcn.00403fa0
jne 0x52cd91
push 0
push 0
push 0x472
mov eax, dword [0x54c150]
call fcn.00446fc4
push eax
call sub.user32.dll_PostMessageA
jmp 0x52d549
lea edx, [ebp - 0x8c]
mov eax, dword [ebp - 4]
call fcn.0040898c
mov edx, dword [ebp - 0x8c]
mov eax, 0x52d5dc
call fcn.00404178
test eax, eax
jle 0x52ce6d
mov edx, dword [ebp - 4]
mov eax, 0x52d5ec
call fcn.00404178
test eax, eax
jne 0x52ce12
lea eax, [ebp - 0x8c]
mov ecx, dword [ebp - 4]
mov edx, dword [0x54c1f0]
call fcn.00403edc
mov eax, dword [ebp - 0x8c]
call fcn.004649f8
test al, al
je 0x52ce12
lea eax, [ebp - 0x8c]
mov ecx, dword [ebp - 4]
mov edx, dword [0x54c1f0]
call fcn.00403edc
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebx + 0x648]
call fcn.004c27cc
jmp 0x52ce56
mov eax, dword [ebp - 4]
call fcn.004649f8
test al, al
je 0x52ce2e
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x648]
call fcn.004c27cc
jmp 0x52ce56
push 0
lea eax, [ebp - 0x8c]
mov ecx, dword [ebp - 4]
mov edx, 0x52d5f8
call fcn.00403edc
mov edx, dword [ebp - 0x8c]
mov ecx, dword [0x54c598]
mov eax, ebx
call fcn.0051c218
mov dl, 1
mov eax, ebx
call fcn.00533b04
mov edx, ebx
mov eax, ebx
call fcn.00511a60
jmp 0x52d549
lea edx, [ebp - 0x8c]
mov eax, dword [ebp - 4]
call fcn.00461f24
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 4]
call fcn.00403cac
mov edx, dword [ebp - 4]
mov eax, 0x52d614
call fcn.00404178
test eax, eax
jle 0x52cee1
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x52d614
call fcn.00404178
inc eax
push eax
mov eax, dword [ebp - 4]
call fcn.00403e90
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00404094
lea eax, [ebp - 4]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x52d614
call fcn.00404178
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00404094
mov edx, dword [ebp - 4]
mov eax, 0x52d5ec
call fcn.00404178
test eax, eax
jle 0x52d0b2
mov dl, 1
mov eax, dword [0x40f53c]
call fcn.00402f00
mov dword [ebp - 0x4c], eax
push 0
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x52d620
mov edx, 0x52d5ec
mov eax, dword [ebp - 4]
call fcn.00460dcc
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
jle 0x52cfc3
lea eax, [ebp - 0x14]
mov edx, dword [esi]
call fcn.00403cac
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
call dword [edx + 0x14]
sub eax, 2
test eax, eax
jl 0x52cf99
inc eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 8], 0
lea ecx, [ebp - 0x90]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x4c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 0x8c]
call fcn.00462288
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 0x14]
call fcn.00403e98
inc dword [ebp - 8]
dec dword [ebp - 0x50]
jne 0x52cf61
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x8c]
mov eax, dword [ebp - 0x4c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x8c]
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x14]
call fcn.00403edc
push 0
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x52d620
mov edx, 0x52d5ec
mov eax, dword [ebp - 0x18]
call fcn.00460dcc
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
jle 0x52d081
lea eax, [ebp - 0x14]
mov edx, dword [esi]
call fcn.00403cac
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
call dword [edx + 0x14]
sub eax, 2
test eax, eax
jl 0x52d057
inc eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 8], 0
lea ecx, [ebp - 0x90]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x4c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 0x8c]
call fcn.00462288
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 0x14]
call fcn.00403e98
inc dword [ebp - 8]
dec dword [ebp - 0x50]
jne 0x52d01f
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x8c]
mov eax, dword [ebp - 0x4c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x8c]
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x14]
call fcn.00403edc
mov eax, dword [ebp - 0x4c]
call fcn.00402f30
jmp 0x52d0b2
lea eax, [ebp - 4]
mov edx, dword [ebp - 0xc]
call fcn.00403cac
lea edx, [ebp - 0x8c]
mov eax, dword [ebp - 4]
call fcn.00461f24
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 4]
call fcn.00403cac
xor edi, edi
mov eax, dword [ebp - 0x18]
mov edx, dword [esi]
call fcn.00403fa0
je 0x52d0f0
mov eax, dword [ebx + 0x7c0]
mov dword [eax + 0xc], 1
mov edx, ebx
mov eax, ebx
call fcn.0052f92c
mov eax, dword [ebx + 0x810]
mov dword [eax + 0xc], 1
mov edx, ebx
mov eax, ebx
call fcn.00530024
mov byte [ebp - 0xd], 1
mov al, byte [ebp - 0xd]
sub al, 1
jb 0x52d0ff
je 0x52d136
dec al
je 0x52d13e
jmp 0x52d144
mov dl, 1
mov eax, ebx
call fcn.0053fd70
mov byte [ebp - 0xd], al
mov al, byte [ebp - 0xd]
sub al, 1
jb 0x52d11a
je 0x52d126
dec al
je 0x52d12e
jmp 0x52d144
mov eax, 0x52d62c
call fcn.0045b380
jmp 0x52d144
mov edi, dword [ebx + 0x4b8]
jmp 0x52d144
mov edi, dword [ebx + 0x4bc]
jmp 0x52d144
mov edi, dword [ebx + 0x4b8]
jmp 0x52d144
mov edi, dword [ebx + 0x4bc]
mov al, byte [ebp - 0xd]
dec al
je 0x52d151
dec al
je 0x52d168
jmp 0x52d17d
mov eax, dword [ebx + 0x7c0]
cmp dword [eax + 0xc], 1
jne 0x52d17d
mov edx, ebx
mov eax, ebx
call fcn.0052f92c
jmp 0x52d17d
mov eax, dword [ebx + 0x810]
cmp dword [eax + 0xc], 1
jne 0x52d17d
mov edx, ebx
mov eax, ebx
call fcn.00530024
lea eax, [ebp - 0x8c]
push eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00537d64
mov eax, dword [ebp - 0x8c]
mov edx, dword [esi]
call fcn.00403fa0
je 0x52d2f7
lea eax, [ebp - 0x30]
push eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00537d64
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 4]
call fcn.00403cac
push 0
mov ecx, 0x52d68c
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x54c1d0]
call fcn.00467110
test al, al
je 0x52d1e5
lea eax, [ebp - 0x20]
mov edx, 0x52d68c
call fcn.00403cac
jmp 0x52d205
lea eax, [ebp - 0x20]
push eax
mov cl, 2
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.00537d64
lea eax, [ebp - 0x24]
push eax
mov cl, 3
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.00537d64
lea eax, [ebp - 0x28]
push eax
mov cl, 1
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.00537d64
lea eax, [ebp - 0x3c]
push eax
mov cl, 9
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.00537d64
lea eax, [ebp - 0x38]
push eax
mov cl, 4
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.00537d64
lea eax, [ebp - 0x34]
push eax
mov cl, 5
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.00537d64
lea eax, [ebp - 0x40]
push eax
mov cl, 6
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.00537d64
lea eax, [ebp - 0x8c]
push eax
mov cl, 8
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.00537d64
mov eax, dword [ebp - 0x8c]
mov edx, dword [esi]
call fcn.00403fa0
je 0x52d29a
lea eax, [ebp - 0x8c]
push eax
mov cl, 8
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.00537d64
mov eax, dword [ebp - 0x8c]
call fcn.00408fd8
mov dword [ebp - 0x48], eax
jmp 0x52d2a2
mov eax, dword [0x54c56c]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x8c]
push eax
mov cl, 7
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.00537d64
mov eax, dword [ebp - 0x8c]
mov edx, dword [esi]
call fcn.00403fa0
je 0x52d2ea
lea eax, [ebp - 0x8c]
push eax
mov cl, 7
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.00537d64
mov eax, dword [ebp - 0x8c]
call fcn.00408fd8
mov dword [ebp - 0x44], eax
jmp 0x52d45c
mov eax, dword [0x54c570]
mov dword [ebp - 0x44], eax
jmp 0x52d45c
lea eax, [ebp - 0x2c]
mov edx, dword [esi]
call fcn.00403cac
mov eax, dword [0x54c570]
mov dword [ebp - 0x44], eax
mov eax, dword [0x54c56c]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x34]
mov edx, dword [esi]
call fcn.00403cac
lea edx, [ebp - 0x8c]
mov eax, 3
call fcn.00408ef8
mov eax, dword [ebp - 0x8c]
lea edx, [ebp - 0x3c]
call fcn.004680c0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x20]
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.0046533c
lea edx, [ebp - 0x8c]
mov eax, dword [ebp - 0x30]
call fcn.00408b54
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 0x30]
call fcn.00403cac
mov eax, dword [ebp - 0x30]
mov edx, dword [esi]
call fcn.00403fa0
je 0x52d549
mov eax, dword [ebp - 0x20]
mov edx, dword [esi]
call fcn.00403fa0
jne 0x52d39c
lea eax, [ebp - 0x20]
mov edx, 0x52d68c
call fcn.00403cac
mov eax, dword [ebp - 0x28]
mov edx, dword [esi]
call fcn.00403fa0
jne 0x52d3b5
lea edx, [ebp - 0x28]
mov eax, 0x15
call fcn.00408ef8
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [esi]
push eax
mov eax, dword [esi]
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x24]
mov edx, dword [esi]
call fcn.00403fa0
jne 0x52d3ff
lea edx, [ebp - 0x8c]
mov eax, dword [ebp - 0x20]
call fcn.0040898c
mov eax, dword [ebp - 0x8c]
mov edx, 0x52d68c
call fcn.00403fa0
je 0x52d403
xor eax, eax
jmp 0x52d405
mov al, 1
push eax
lea edx, [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
mov eax, ebx
call fcn.0052d6d8
mov eax, dword [ebp - 0x24]
mov edx, dword [esi]
call fcn.00403fa0
jne 0x52d45c
lea edx, [ebp - 0x8c]
mov eax, dword [ebp - 0x20]
call fcn.0040898c
mov eax, dword [ebp - 0x8c]
mov edx, 0x52d68c
call fcn.00403fa0
jne 0x52d45c
push 0x52d6a0
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x52d6c0
mov edx, 0x52d6d0
mov eax, dword [0x54c1ac]
call fcn.00466e3c
mov eax, dword [0x549798]
mov eax, dword [eax]
call fcn.0043b178
lea eax, [ebp - 0x85]
mov edx, dword [ebp - 0x2c]
call fcn.00403cac
lea eax, [ebp - 0x81]
mov edx, dword [ebp - 0x30]
call fcn.00403cac
mov edx, 0x15
mov eax, dword [ebp - 0x28]
call fcn.004090d0
mov dword [ebp - 0x7d], eax
lea eax, [ebp - 0x79]
mov edx, dword [ebp - 0x20]
call fcn.00403cac
lea eax, [ebp - 0x75]
mov edx, dword [ebp - 0x24]
call fcn.00403cac
lea eax, [ebp - 0x71]
mov edx, dword [ebp - 0x3c]
call fcn.00403cac
lea eax, [ebp - 0x65]
mov edx, dword [ebp - 0x34]
call fcn.00403cac
lea eax, [ebp - 0x69]
mov edx, dword [ebp - 0x38]
call fcn.00403cac
lea eax, [ebp - 0x61]
mov edx, dword [ebp - 0x40]
call fcn.00403cac
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5d], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x59], eax
mov dword [ebp - 0x54], edi
lea eax, [ebp - 0x8c]
push eax
mov cl, 0xc
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00537d64
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 0x6d]
call fcn.00403cac
mov cl, 1
lea edx, [ebp - 0x85]
mov eax, ebx
call fcn.0051c7c4
cmp byte [0x54c3f4], 0
jne 0x52d549
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x18]
call fcn.00403cac
lea eax, [ebp - 0x18]
mov edx, dword [esi]
call fcn.00403cac
mov edi, dword [ebx + 0x4bc]
mov eax, dword [ebp - 4]
mov edx, dword [esi]
call fcn.00403fa0
jne 0x52d17d
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52d59c
lea eax, [ebp - 0x90]
mov edx, 2
call fcn.00403c38
lea eax, [ebp - 0x85]
mov edx, dword [0x5090c8]
call fcn.00404578
lea eax, [ebp - 0x40]
mov edx, 0xc
call fcn.00403c38
lea eax, [ebp - 0xc]
call fcn.00403c14
lea eax, [ebp - 4]
call fcn.00403c14
ret