Function at 0x52c9d8
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff38
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x52da9b
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [0x5bd0ac], eax
xor eax, eax
mov dword [0x5bd0b0], eax
xor eax, eax
mov dword [0x5bd0b4], eax
mov byte [0x5b9b60], 0
xor eax, eax
mov dword [0x5bd1ac], eax
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
call fcn.00411954
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
cmp dword [eax*8 + 0x5bd0e8], 0xffffffff
je 0x52ca76
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
cmp dword [eax*8 + 0x5bd0e8], 0
je 0x52ca76
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov eax, dword [eax*8 + 0x5bd0e8]
push eax
call sub.user32.dll_DestroyWindow
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov dword [eax*8 + 0x5bd0e8], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], 8
jl 0x52ca43
cmp dword [0x5bd1a8], 0xffffffff
je 0x52caad
cmp dword [0x5bd1a8], 0
je 0x52caad
mov eax, dword [0x5bd1a8]
push eax
call sub.user32.dll_DestroyWindow
mov dword [0x5bd1a8], 0xffffffff
xor eax, eax
push ebp
push 0x52da5e
push dword fs:[eax]
mov dword fs:[eax], esp
test byte [0x5bd01e], 4
jne 0x52cae0
test byte [0x5bd01e], 0x40
jne 0x52cae0
test byte [0x5bd01f], 2
jne 0x52cae4
xor eax, eax
jmp 0x52cae6
mov al, 1
mov byte [0x5bd0e4], al
cmp byte [0x5bd000], 0
je 0x52cbcc
mov word [ebp - 0x80], 1
mov word [ebp - 0x7e], 0xffff
xor eax, eax
mov dword [ebp - 0x7c], eax
mov eax, dword [0x5bd024]
mov dword [ebp - 0x78], eax
mov eax, dword [0x5bd01c]
or eax, 0x10000000
mov dword [ebp - 0x74], eax
mov ax, word [0x5bd004]
mov word [ebp - 0x70], ax
mov ax, word [0x5bd008]
mov word [ebp - 0x6e], ax
mov ax, word [0x5bd00c]
mov word [ebp - 0x6c], ax
fild dword [0x5bd07c]
fdiv dword [0x5bd0dc]
call fcn.00402964
mov word [ebp - 0x6a], ax
fild dword [0x5bd080]
fdiv dword [0x5bd0e0]
call fcn.00402964
mov word [ebp - 0x68], ax
mov word [ebp - 0x66], 0
mov word [ebp - 0x64], 0
test byte [ebp - 0x71], 0x80
je 0x52cb7f
and dword [ebp - 0x74], 0x7fffffff
test byte [ebp - 0x71], 0x40
jne 0x52cb8c
or dword [ebp - 0x74], 0x40000000
test byte [ebp - 0x73], 0x80
je 0x52cba0
mov eax, dword [ebp - 0x98]
and eax, 0xffff7fff
mov dword [ebp - 0x74], eax
cmp byte [0x5bd050], 0
je 0x52cbaf
or dword [ebp - 0x74], 0x40
jmp 0x52cbb3
and dword [ebp - 0x74], 0xffffffbf
lea edx, [ebp - 0x80]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, 0x1e
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x52ccb9
mov eax, dword [0x5bd01c]
or eax, 0x10000000
mov dword [ebp - 0x98], eax
mov eax, dword [0x5bd024]
mov dword [ebp - 0x94], eax
mov ax, word [0x5bd004]
mov word [ebp - 0x90], ax
mov ax, word [0x5bd008]
mov word [ebp - 0x8e], ax
mov ax, word [0x5bd00c]
mov word [ebp - 0x8c], ax
fild dword [0x5bd07c]
fdiv dword [0x5bd0dc]
call fcn.00402964
mov word [ebp - 0x8a], ax
fild dword [0x5bd080]
fdiv dword [0x5bd0e0]
call fcn.00402964
mov word [ebp - 0x88], ax
mov word [ebp - 0x86], 0
mov word [ebp - 0x84], 0
test byte [ebp - 0x95], 0x80
je 0x52cc63
and dword [ebp - 0x98], 0x7fffffff
test byte [ebp - 0x95], 0x40
jne 0x52cc76
or dword [ebp - 0x98], 0x40000000
test byte [ebp - 0x97], 0x80
je 0x52cc89
and dword [ebp - 0x98], 0xffff7fff
cmp byte [0x5bd050], 0
je 0x52cc9b
or dword [ebp - 0x98], 0x40
jmp 0x52cca2
and dword [ebp - 0x98], 0xffffffbf
lea edx, [ebp - 0x98]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, 0x16
mov ebx, dword [eax]
call dword [ebx + 8]
push ebp
mov eax, dword [0x5bd038]
call fcn.0052c644
pop ecx
cmp byte [0x5bd050], 0
je 0x52cd25
mov edx, 0x5bd058
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, 2
mov ebx, dword [eax]
call dword [ebx + 8]
cmp byte [0x5bd000], 0
je 0x52cd19
mov edx, 0x5bd05c
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, 2
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, 0x5bd060
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, 2
mov ebx, dword [eax]
call dword [ebx + 8]
push ebp
mov eax, dword [0x5bd054]
call fcn.0052c644
pop ecx
xor eax, eax
mov dword [ebp - 0x18], eax
cmp byte [0x5bd000], 0
je 0x52cd47
lea edx, [ebp - 0x18]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, 4
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
call fcn.00411288
call fcn.0054019c
mov ebx, eax
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
call fcn.00411288
sub ebx, eax
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0
je 0x52cd88
xor eax, eax
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x1c]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x5bd004]
dec eax
test eax, eax
jl 0x52d218
inc eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 8], 0
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd084]
call fcn.0040e338
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp dword [eax], 6
jne 0x52cddd
push ebp
lea ecx, [ebp - 0xbc]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd088]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbc]
call fcn.0052c714
pop ecx
test al, al
je 0x52cde1
xor eax, eax
jmp 0x52cde3
mov al, 1
mov byte [ebp - 0x29], al
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
inc eax
call fcn.004026a8
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x52d205
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [ebp - 0x18]
call fcn.00402b14
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
call fcn.004027e0
cmp byte [0x5bd000], 0
jne 0x52cf78
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x20]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x24]
mov edx, dword [ebp - 0x20]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x10]
fild dword [eax + 0x44]
fdiv dword [0x5bd0dc]
call fcn.00402964
mov edx, dword [ebp - 0x20]
mov word [edx + 8], ax
mov eax, dword [ebp - 0x10]
fild dword [eax + 0x48]
fdiv dword [0x5bd0e0]
call fcn.00402964
mov edx, dword [ebp - 0x20]
mov word [edx + 0xa], ax
mov eax, dword [ebp - 0x10]
fild dword [eax + 0x4c]
fdiv dword [0x5bd0dc]
call fcn.00402964
mov edx, dword [ebp - 0x20]
mov word [edx + 0xc], ax
mov eax, dword [ebp - 0x10]
fild dword [eax + 0x50]
fdiv dword [0x5bd0e0]
call fcn.00402964
mov edx, dword [ebp - 0x20]
mov word [edx + 0xe], ax
mov eax, dword [ebp - 0x10]
cmp dword [eax], 4
jne 0x52cecd
mov eax, dword [ebp - 0x10]
mov ax, word [eax + 0x14]
mov edx, dword [ebp - 0x20]
mov word [edx + 0xe], ax
push ebp
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 4]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.0052c99c
pop ecx
mov edx, dword [ebp - 0x20]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
cmp dword [eax], 6
jne 0x52cf2d
lea ecx, [ebp - 0xc0]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd088]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc0]
lea edx, [ebp - 0xbc]
call fcn.00406fac
mov eax, dword [ebp - 0xbc]
mov edx, 0x52dab4
call fcn.00403d9c
jne 0x52cf2d
mov eax, dword [ebp - 0x20]
and dword [eax], 0xffffffef
cmp byte [ebp - 0x29], 0
je 0x52cf67
mov eax, dword [ebp - 0x20]
mov word [eax + 0x12], 0xffff
mov eax, dword [ebp - 0x20]
mov word [eax + 0x14], 0x82
mov eax, dword [ebp - 0x20]
mov word [eax + 0x16], 0
mov eax, dword [ebp - 0x20]
mov word [eax + 0x18], 0
mov eax, dword [ebp - 0x20]
mov word [eax + 0x1a], 0
mov dword [ebp - 0x18], 0x1c
mov ax, word [ebp - 8]
inc eax
mov edx, dword [ebp - 0x20]
mov word [edx + 0x10], ax
jmp 0x52d0b0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x24]
mov edx, dword [ebp - 0x24]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x24]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x10]
fild dword [eax + 0x44]
fdiv dword [0x5bd0dc]
call fcn.00402964
mov edx, dword [ebp - 0x24]
mov word [edx + 8], ax
mov eax, dword [ebp - 0x10]
fild dword [eax + 0x48]
fdiv dword [0x5bd0e0]
call fcn.00402964
mov edx, dword [ebp - 0x24]
mov word [edx + 0xa], ax
mov eax, dword [ebp - 0x10]
fild dword [eax + 0x4c]
fdiv dword [0x5bd0dc]
call fcn.00402964
mov edx, dword [ebp - 0x24]
mov word [edx + 0xc], ax
mov eax, dword [ebp - 0x10]
fild dword [eax + 0x50]
fdiv dword [0x5bd0e0]
call fcn.00402964
mov edx, dword [ebp - 0x24]
mov word [edx + 0xe], ax
mov eax, dword [ebp - 0x10]
cmp dword [eax], 4
jne 0x52d00b
mov eax, dword [ebp - 0x10]
mov ax, word [eax + 0x14]
mov edx, dword [ebp - 0x24]
mov word [edx + 0xe], ax
push ebp
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.0052c99c
pop ecx
mov edx, dword [ebp - 0x24]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x10]
cmp dword [eax], 6
jne 0x52d06b
lea ecx, [ebp - 0xc0]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd088]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc0]
lea edx, [ebp - 0xbc]
call fcn.00406fac
mov eax, dword [ebp - 0xbc]
mov edx, 0x52dab4
call fcn.00403d9c
jne 0x52d06b
mov eax, dword [ebp - 0x24]
and dword [eax + 4], 0xffffffef
cmp byte [ebp - 0x29], 0
je 0x52d0a4
mov eax, dword [ebp - 0x24]
mov word [eax + 0x14], 0xffff
mov eax, dword [ebp - 0x24]
mov word [eax + 0x16], 0x82
mov eax, dword [ebp - 0x24]
mov word [eax + 0x18], 0
mov eax, dword [ebp - 0x24]
mov word [eax + 0x1a], 0
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0x1c], edx
mov dword [ebp - 0x18], 0x20
mov ax, word [ebp - 8]
inc eax
mov edx, dword [ebp - 0x24]
mov word [edx + 0x10], ax
mov edx, dword [ebp - 0x28]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 8]
cmp byte [ebp - 0x29], 0
jne 0x52d146
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x34], 0
je 0x52d126
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x1c], 0xffff
lea edx, [ebp - 0x1c]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 8]
lea ecx, [ebp - 0xbc]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd08c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbc]
call fcn.00407468
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x1c]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x52d146
push ebp
lea ecx, [ebp - 0xbc]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd090]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbc]
call fcn.0052c644
pop ecx
cmp byte [0x5bd000], 0
je 0x52d16d
mov dword [ebp - 0x18], 2
xor eax, eax
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x1c]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 8]
cmp byte [ebp - 0x29], 0
jne 0x52d1ef
mov eax, dword [0x5bd004]
dec eax
cmp eax, dword [ebp - 8]
je 0x52d1ae
cmp byte [0x5bd000], 0
je 0x52d190
mov dword [ebp - 0x18], 4
jmp 0x52d197
mov dword [ebp - 0x18], 2
xor eax, eax
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x1c]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
call fcn.00411288
call fcn.0054019c
mov ebx, eax
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
call fcn.00411288
sub ebx, eax
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0
je 0x52d1ef
xor eax, eax
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x1c]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 8]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52d20c
mov eax, dword [ebp - 0x28]
call fcn.004026c0
ret
mov eax, 0x5bd1b0
xor ecx, ecx
mov edx, 0x100
call fcn.00402b14
mov edx, 0x5bd1b0
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, 0x100
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
xor ecx, ecx
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
push 0x52a818
mov eax, dword [0x5bb528]
mov eax, dword [eax]
call fcn.004276fc
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.00406384
mov dword [0x5bd06c], eax
cmp dword [0x5bd06c], 0
je 0x52da1b
mov eax, dword [0x5bb7d8]
cmp dword [eax], 0xffffffff
jne 0x52d2e5
mov eax, dword [0x5bb8e0]
cmp dword [eax], 0xffffffff
jne 0x52d2e5
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [0x5bb018]
mov eax, dword [eax]
mov eax, dword [eax + 0x2bc]
call fcn.004276fc
push eax
call sub.user32.dll_GetWindowRect
mov eax, dword [ebp - 0xa8]
add eax, 0x40
mov edx, dword [0x5bb7d8]
mov dword [edx], eax
mov eax, dword [ebp - 0x9c]
sub eax, 0x96
mov edx, dword [0x5bb8e0]
mov dword [edx], eax
mov eax, dword [0x5bd06c]
push eax
push 0x529f6c
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_EnumChildWindows
push 1
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_ShowWindow
mov dword [ebp - 0x18], 0x90
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [0x5bb528]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
push eax
mov eax, dword [0x5bb528]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
push eax
mov eax, dword [0x5bb8e0]
mov eax, dword [eax]
push eax
mov eax, dword [0x5bb7d8]
mov eax, dword [eax]
push eax
push 0
mov eax, dword [0x5bb528]
mov eax, dword [eax]
call fcn.004276fc
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [0x5bb528]
mov eax, dword [eax]
call fcn.004276fc
push eax
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_SetParent
mov eax, dword [0x5bb528]
mov eax, dword [eax]
call fcn.0042353c
mov dword [0x5bd0d4], eax
mov eax, dword [0x5bb528]
mov eax, dword [eax]
call fcn.00423580
mov dword [0x5bd0d8], eax
mov dword [0x5bd0ac], 0xffffffff
mov eax, dword [0x5bafb8]
cmp byte [eax], 0
je 0x52d3cb
call fcn.00529bf8
push 0
mov eax, dword [0x5bb528]
mov eax, dword [eax]
call fcn.00423580
push eax
mov eax, dword [0x5bb528]
mov eax, dword [eax]
call fcn.0042353c
push eax
push 0
push 0
mov eax, dword [0x5bd1a8]
push eax
call sub.user32.dll_MoveWindow
push 0xffffffffffffffff
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_EnableWindow
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_GetClientRect
mov eax, dword [ebp - 0xa0]
sub eax, dword [ebp - 0xa8]
mov dword [0x5bd07c], eax
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0xa4]
mov dword [0x5bd080], eax
xor eax, eax
mov dword [ebp - 0xa8], eax
xor eax, eax
mov dword [ebp - 0xa4], eax
mov eax, dword [0x5bd010]
mov dword [ebp - 0xa0], eax
mov eax, dword [0x5bd014]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_MapDialogRect
mov eax, dword [ebp - 0xa0]
sub eax, dword [ebp - 0xa8]
mov dword [ebp - 0xc4], eax
fild dword [ebp - 0xc4]
fild dword [0x5bd010]
fdivp st(1)
fstp dword [0x5bd0dc]
wait
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0xa4]
mov dword [ebp - 0xc4], eax
fild dword [ebp - 0xc4]
fild dword [0x5bd014]
fdivp st(1)
fstp dword [0x5bd0e0]
wait
mov eax, dword [0x5bd004]
dec eax
test eax, eax
jl 0x52d9ff
inc eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 8], 0
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd084]
call fcn.0040e338
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp dword [eax], 1
jne 0x52d9f3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x18]
and eax, 0xf
sub eax, 3
je 0x52d4e3
sub eax, 0xb
je 0x52d6bb
jmp 0x52d9f3
xor eax, eax
mov dword [ebp - 0x30], eax
mov eax, dword [0x5bb2e0]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x52d5a7
inc eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0xc0]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd08c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc0]
lea edx, [ebp - 0xbc]
call fcn.00406f70
mov eax, dword [ebp - 0xbc]
push eax
lea ecx, [ebp - 0xc8]
mov eax, dword [0x5bb2e0]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc8]
lea edx, [ebp - 0xc0]
call fcn.00406f70
mov edx, dword [ebp - 0xc0]
pop eax
call fcn.00403d9c
jne 0x52d59b
lea ecx, [ebp - 0xbc]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd08c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbc]
push eax
mov eax, dword [0x5bb2e0]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
pop edx
call fcn.0052ae44
mov dword [ebp - 0x30], eax
jmp 0x52d5a7
inc dword [ebp - 0xc]
dec dword [ebp - 0x60]
jne 0x52d508
cmp dword [ebp - 0x30], 0
jne 0x52d60e
xor eax, eax
push ebp
push 0x52d5f4
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0xbc]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd08c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbc]
call fcn.00407468
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
push eax
push 0
call sub.user32.dll_LoadIconA
mov dword [ebp - 0x30], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x52d5fe
cmp dword [ebp - 0x30], 0
jne 0x52d60e
mov eax, dword [0x5bb72c]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
push 1
push 0x172
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x40]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x14], 0x14
jne 0x52d641
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x10], 0x15
je 0x52d641
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x10], 0x15
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x14]
push eax
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x10]
xor edx, edx
xor eax, eax
call fcn.0040d578
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_MapDialogRect
push 0x316
mov eax, dword [ebp - 0xac]
push eax
mov eax, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
push eax
push 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x40]
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebp - 0x10]
fild dword [eax + 0x10]
fmul dword [0x5bd0dc]
call fcn.00402964
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x4c], eax
jmp 0x52d9f3
lea ecx, [ebp - 0xbc]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd08c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbc]
lea edx, [ebp - 0x50]
call fcn.00406f70
lea eax, [ebp - 0x54]
call fcn.00403a10
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x34], 0
je 0x52d6fb
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.004073fc
mov dl, 1
mov eax, dword [0x40d030]
call fcn.00402e3c
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
call fcn.00411954
mov dl, 1
mov eax, dword [0x4179bc]
call fcn.0041db20
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x55], 0
xor eax, eax
push ebp
push 0x52d9ec
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5bb778]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x52d865
inc eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0xc0]
mov eax, dword [0x5bb778]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc0]
lea edx, [ebp - 0xbc]
call fcn.00406f70
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x50]
call fcn.00403d9c
je 0x52d7c3
lea ecx, [ebp - 0xc0]
mov eax, dword [0x5bb778]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc0]
lea edx, [ebp - 0xbc]
call fcn.00406f70
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x54]
call fcn.00403d9c
jne 0x52d859
mov eax, dword [0x5bb778]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [eax + 8]
mov dword [ebp - 0x40], eax
mov eax, dword [0x5bb778]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
add eax, dword [ebp - 0x40]
mov edx, dword [0x5bb024]
sub eax, dword [edx]
mov dword [ebp - 0x3c], eax
xor eax, eax
push ebp
push 0x52d84d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
call fcn.00542538
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov byte [ebp - 0x55], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x52d865
inc dword [ebp - 0xc]
dec dword [ebp - 0x60]
jne 0x52d753
cmp byte [ebp - 0x55], 0
jne 0x52d930
mov dl, 1
mov eax, dword [0x4179bc]
call fcn.0041db20
mov dword [ebp - 0x4c], eax
xor eax, eax
push ebp
push 0x52d929
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x5bb380]
mov edx, dword [edx]
mov ecx, 0x52dacc
mov eax, dword [ebp - 0x4c]
call fcn.0041e624
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
call dword [ecx + pe_nt_image_headers32]
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
call dword [ecx + 0x34]
push 0xcc0020
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
call dword [edx + 0x2c]
push eax
push 0
push 0
mov eax, dword [ebp - 0x4c]
call fcn.0041e054
call fcn.00419858
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x14]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
push eax
push 0
push 0
mov eax, dword [ebp - 0x48]
call fcn.0041e054
call fcn.00419858
push eax
call sub.gdi32.dll_StretchBlt
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52d930
mov eax, dword [ebp - 0x4c]
call fcn.0041dfec
mov eax, dword [ebp - 0x4c]
call fcn.00402e64
ret
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
call dword [edx + 0x60]
test eax, eax
je 0x52d958
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
call dword [edx + 0x60]
push eax
push 0
push 0x172
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x40]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x14]
push eax
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x10]
xor edx, edx
xor eax, eax
call fcn.0040d578
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_MapDialogRect
push 0x316
mov eax, dword [ebp - 0xac]
push eax
mov eax, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
push eax
push 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x40]
push eax
call sub.user32.dll_SetWindowPos
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52d9f3
mov eax, dword [ebp - 0x48]
call fcn.0041dfec
mov eax, dword [ebp - 0x48]
call fcn.0041f434
mov eax, dword [ebp - 0x48]
call fcn.00402e64
mov eax, dword [ebp - 0x34]
call fcn.00411954
mov eax, dword [ebp - 0x34]
call fcn.00402e64
ret
inc dword [ebp - 8]
dec dword [ebp - 0x5c]
jne 0x52d4ab
push 0
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_ShowWindow
push 4
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_ShowWindow
jmp 0x52da50
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
call fcn.00411954
mov eax, dword [0x5bb8cc]
mov byte [eax], 1
mov eax, dword [0x5bb528]
mov eax, dword [eax]
call fcn.00431818
mov eax, dword [0x5bb528]
mov eax, dword [eax]
call fcn.00402e64
mov eax, dword [0x5bb528]
xor edx, edx
mov dword [eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52da65
ret