Function at 0x52b47c
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff00
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x100], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x52c60c
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x52b4df
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x100
call fcn.004474d0
mov eax, 4
call fcn.004474d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x52b4e9
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 0x52b550
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
cmp dword [eax*8 + 0x5bd0e8], 0
je 0x52b550
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 0x52b51d
cmp dword [0x5bd1a8], 0xffffffff
je 0x52b587
cmp dword [0x5bd1a8], 0
je 0x52b587
mov eax, dword [0x5bd1a8]
push eax
call sub.user32.dll_DestroyWindow
mov dword [0x5bd1a8], 0xffffffff
xor eax, eax
push ebp
push 0x52c5cf
push dword fs:[eax]
mov dword fs:[eax], esp
test byte [0x5bd01a], 4
jne 0x52b5ba
test byte [0x5bd01a], 0x40
jne 0x52b5ba
test byte [0x5bd01b], 2
jne 0x52b5be
xor eax, eax
jmp 0x52b5c0
mov al, 1
mov byte [0x5bd0e4], al
cmp dword [0x5bd010], 0
jne 0x52b5d8
mov dword [0x5bd010], 0xa
cmp dword [0x5bd014], 0
jne 0x52b5eb
mov dword [0x5bd014], 0xa
cmp byte [0x5bd000], 0
je 0x52b69b
mov word [ebp - 0x7c], 1
mov word [ebp - 0x7a], 0xffff
xor eax, eax
mov dword [ebp - 0x78], eax
mov eax, dword [0x5bd020]
mov dword [ebp - 0x74], eax
mov eax, dword [0x5bd018]
or eax, 0x10000000
mov dword [ebp - 0x70], eax
mov ax, word [0x5bd004]
mov word [ebp - 0x6c], ax
mov word [ebp - 0x6a], 0
mov word [ebp - 0x68], 0
mov ax, word [0x5bd010]
mov word [ebp - 0x66], ax
mov ax, word [0x5bd014]
mov word [ebp - 0x64], ax
mov word [ebp - 0x62], 0
mov word [ebp - 0x60], 0
test byte [ebp - 0x6d], 0x80
je 0x52b661
and dword [ebp - 0x70], 0x7fffffff
test byte [ebp - 0x6d], 0x40
jne 0x52b66e
or dword [ebp - 0x70], 0x40000000
test byte [ebp - 0x6f], 0x80
je 0x52b682
mov eax, dword [ebp - 0x94]
and eax, 0xffff7fff
mov dword [ebp - 0x70], eax
lea edx, [ebp - 0x7c]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, 0x1e
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x52b74e
mov eax, dword [0x5bd018]
or eax, 0x10000000
mov dword [ebp - 0x94], eax
mov eax, dword [0x5bd020]
mov dword [ebp - 0x90], eax
mov ax, word [0x5bd004]
mov word [ebp - 0x8c], ax
mov word [ebp - 0x8a], 0
mov word [ebp - 0x88], 0
mov ax, word [0x5bd010]
mov word [ebp - 0x86], ax
mov ax, word [0x5bd014]
mov word [ebp - 0x84], ax
mov word [ebp - 0x82], 0
mov word [ebp - 0x80], 0
test byte [ebp - 0x91], 0x80
je 0x52b711
and dword [ebp - 0x94], 0x7fffffff
test byte [ebp - 0x91], 0x40
jne 0x52b724
or dword [ebp - 0x94], 0x40000000
test byte [ebp - 0x93], 0x80
je 0x52b737
and dword [ebp - 0x94], 0xffff7fff
lea edx, [ebp - 0x94]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, 0x16
mov ebx, dword [eax]
call dword [ebx + 8]
push ebp
mov eax, dword [0x5bd034]
call fcn.0052b0e8
pop ecx
cmp byte [0x5bd03c], 0
je 0x52b7ba
mov edx, 0x5bd044
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, 2
mov ebx, dword [eax]
call dword [ebx + 8]
cmp byte [0x5bd000], 0
je 0x52b7ae
mov edx, 0x5bd048
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, 2
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, 0x5bd04c
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ecx, 2
mov ebx, dword [eax]
call dword [ebx + 8]
push ebp
mov eax, dword [0x5bd040]
call fcn.0052b0e8
pop ecx
mov al, byte [0x5bd03c]
mov byte [0x5bd050], al
mov eax, 0x5bd054
mov edx, dword [0x5bd040]
call fcn.00403a64
mov eax, dword [0x5bd044]
mov dword [0x5bd058], eax
mov eax, dword [0x5bd048]
mov dword [0x5bd05c], eax
mov eax, dword [0x5bd04c]
mov dword [0x5bd060], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp byte [0x5bd000], 0
je 0x52b814
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 0x52b855
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 0x52bbf7
inc eax
mov dword [ebp - 0x58], 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]
xor edx, edx
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0x10]
cmp dword [eax], 6
jne 0x52ba30
push ebp
lea ecx, [ebp - 0xf4]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd088]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf4]
call fcn.0052b1b8
pop ecx
test al, al
jne 0x52ba1c
cmp byte [0x5bd000], 0
jne 0x52b96f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x20]
mov ax, word [eax + 8]
mov word [ebp - 0xb8], ax
mov eax, dword [ebp - 0x20]
mov ax, word [eax + 0xa]
mov word [ebp - 0xb6], ax
mov eax, dword [ebp - 0x20]
mov ax, word [eax + 0xc]
mov word [ebp - 0xb4], ax
mov eax, dword [ebp - 0x20]
mov ax, word [eax + 0xe]
mov word [ebp - 0xb2], ax
mov eax, dword [ebp - 0x20]
mov ax, word [eax + 0x10]
mov word [ebp - 0xb0], ax
mov word [ebp - 0xae], 0xffff
mov word [ebp - 0xac], 0x82
mov word [ebp - 0xaa], 0
mov word [ebp - 0xa8], 0
mov word [ebp - 0xa6], 0
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0x1c
jmp 0x52ba42
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x24]
mov ax, word [eax + 8]
mov word [ebp - 0xd8], ax
mov eax, dword [ebp - 0x24]
mov ax, word [eax + 0xa]
mov word [ebp - 0xd6], ax
mov eax, dword [ebp - 0x24]
mov ax, word [eax + 0xc]
mov word [ebp - 0xd4], ax
mov eax, dword [ebp - 0x24]
mov ax, word [eax + 0xe]
mov word [ebp - 0xd2], ax
mov eax, dword [ebp - 0x24]
mov ax, word [eax + 0x10]
mov word [ebp - 0xd0], ax
mov word [ebp - 0xce], 0
mov word [ebp - 0xcc], 0xffff
mov word [ebp - 0xca], 0x82
mov word [ebp - 0xc8], 0
mov word [ebp - 0xc6], 0
xor eax, eax
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xe0]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0x20
jmp 0x52ba42
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x18], eax
jmp 0x52ba42
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x38]
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 0x52bbe4
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 0x52bafe
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
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.0052b440
pop ecx
mov edx, dword [ebp - 0x20]
mov dword [edx], eax
mov eax, dword [0x5bafb8]
cmp byte [eax], 0
je 0x52baf0
mov eax, dword [ebp - 0x10]
cmp dword [eax], 6
jne 0x52baf0
lea ecx, [ebp - 0xf8]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd088]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf8]
lea edx, [ebp - 0xf4]
call fcn.00406fac
mov eax, dword [ebp - 0xf4]
mov edx, 0x52c624
call fcn.00403d9c
jne 0x52baf0
mov eax, dword [ebp - 0x20]
and dword [eax], 0xffffffef
mov ax, word [ebp - 8]
inc eax
mov edx, dword [ebp - 0x20]
mov word [edx + 0x10], ax
jmp 0x52bb7a
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
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.0052b440
pop ecx
mov edx, dword [ebp - 0x24]
mov dword [edx + 4], eax
mov eax, dword [0x5bafb8]
cmp byte [eax], 0
je 0x52bb6e
mov eax, dword [ebp - 0x10]
cmp dword [eax], 6
jne 0x52bb6e
lea ecx, [ebp - 0xf8]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd088]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf8]
lea edx, [ebp - 0xf4]
call fcn.00406fac
mov eax, dword [ebp - 0xf4]
mov edx, 0x52c624
call fcn.00403d9c
jne 0x52bb6e
mov eax, dword [ebp - 0x24]
and dword [eax + 4], 0xffffffef
mov ax, word [ebp - 8]
inc eax
mov edx, dword [ebp - 0x24]
mov word [edx + 0x10], ax
mov eax, dword [0x5bd004]
dec eax
cmp eax, dword [ebp - 8]
jne 0x52bbbc
cmp byte [0x5bd000], 0
je 0x52bba5
mov ecx, dword [ebp - 0x18]
sub ecx, 4
mov edx, dword [ebp - 0x28]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x52bbce
mov ecx, dword [ebp - 0x18]
sub ecx, 2
mov edx, dword [ebp - 0x28]
mov eax, dword [0x5bb5cc]
mov eax, dword [eax]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x52bbce
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]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52bbeb
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 0x52c58c
mov eax, dword [0x5bb7d8]
cmp dword [eax], 0xffffffff
jne 0x52bcc4
mov eax, dword [0x5bb8e0]
cmp dword [eax], 0xffffffff
jne 0x52bcc4
lea eax, [ebp - 0xa4]
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 - 0xa4]
add eax, 0x40
mov edx, dword [0x5bb7d8]
mov dword [edx], eax
mov eax, dword [ebp - 0x98]
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], 0x10
mov eax, dword [0x5bafb8]
cmp byte [eax], 0
je 0x52bcfe
or dword [ebp - 0x18], 0x40
jmp 0x52bd21
mov eax, dword [0x5bb018]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
cmp byte [eax + 0xc0], 0
je 0x52bd1d
or dword [ebp - 0x18], 0x80
jmp 0x52bd21
or dword [ebp - 0x18], 0x40
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 0x52bddd
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 - 0xa4]
push eax
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_GetClientRect
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0xa4]
mov dword [0x5bd07c], eax
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0xa0]
mov dword [0x5bd080], eax
mov eax, 0x5bd038
mov edx, dword [0x5bd034]
call fcn.00403a64
mov eax, dword [0x5bd018]
mov dword [0x5bd01c], eax
mov eax, dword [0x5bd020]
mov dword [0x5bd024], eax
xor eax, eax
mov dword [0x5bd028], eax
cmp dword [0x5bd02c], 0
je 0x52bf7d
mov eax, dword [0x5bafb8]
cmp byte [eax], 0
jne 0x52bf7d
push 0xfffffffffffffff0
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_GetWindowLongA
mov dword [ebp - 0x18], eax
and dword [ebp - 0x18], 0xbfffffff
mov eax, dword [ebp - 0x18]
push eax
push 0xfffffffffffffff0
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_SetWindowLongA
mov eax, dword [0x5badf4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x52bf7d
mov eax, dword [0x5badf4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x52bf7d
inc eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 8], 0
lea ecx, [ebp - 0xf4]
mov eax, dword [0x5badf4]
mov eax, dword [eax]
mov edx, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf4]
mov edx, dword [0x5bd02c]
call fcn.00403d9c
jne 0x52bf71
xor eax, eax
push ebp
push 0x52bf65
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5badf4]
mov eax, dword [eax]
mov edx, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push eax
call sub.user32.dll_LoadMenuIndirectA
mov dword [0x5bd2b4], eax
mov eax, dword [0x5bd2b4]
push eax
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_SetMenu
test eax, eax
je 0x52bf49
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_DrawMenuBar
push 0xffffffffffffffff
mov eax, dword [0x5bd2b4]
push eax
call sub.user32.dll_EnableWindow
jmp 0x52bf5b
mov eax, dword [0x5bd2b4]
push eax
call sub.user32.dll_DestroyMenu
xor eax, eax
mov dword [0x5bd2b4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x52bf7d
inc dword [ebp - 8]
dec dword [ebp - 0x58]
jne 0x52bec0
xor eax, eax
mov dword [ebp - 0xa4], eax
xor eax, eax
mov dword [ebp - 0xa0], eax
mov eax, dword [0x5bd010]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x5bd014]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0xa4]
push eax
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_MapDialogRect
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0xa4]
mov dword [ebp - 0xfc], eax
fild dword [ebp - 0xfc]
fild dword [0x5bd010]
fdivp st(1)
fstp dword [0x5bd0dc]
wait
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0xa0]
mov dword [ebp - 0xfc], eax
fild dword [ebp - 0xfc]
fild dword [0x5bd014]
fdivp st(1)
fstp dword [0x5bd0e0]
wait
mov eax, dword [0x5bd004]
dec eax
test eax, eax
jl 0x52c570
inc eax
mov dword [ebp - 0x58], 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 0x52c564
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x18]
and eax, 0xf
sub eax, 3
je 0x52c054
sub eax, 0xb
je 0x52c22c
jmp 0x52c564
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [0x5bb2e0]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x52c118
inc eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0xf8]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd08c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf8]
lea edx, [ebp - 0xf4]
call fcn.00406f70
mov eax, dword [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x100]
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 - 0x100]
lea edx, [ebp - 0xf8]
call fcn.00406f70
mov edx, dword [ebp - 0xf8]
pop eax
call fcn.00403d9c
jne 0x52c10c
lea ecx, [ebp - 0xf4]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd08c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf4]
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 - 0x2c], eax
jmp 0x52c118
inc dword [ebp - 0xc]
dec dword [ebp - 0x5c]
jne 0x52c079
cmp dword [ebp - 0x2c], 0
jne 0x52c17f
xor eax, eax
push ebp
push 0x52c165
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0xf4]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd08c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf4]
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 - 0x2c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x52c16f
cmp dword [ebp - 0x2c], 0
jne 0x52c17f
mov eax, dword [0x5bb72c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
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 0x52c1b2
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x10], 0x15
je 0x52c1b2
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 - 0xf0]
push eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x10]
xor edx, edx
xor eax, eax
call fcn.0040d578
lea eax, [ebp - 0xf0]
push eax
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_MapDialogRect
push 0x316
mov eax, dword [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0xe8]
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 0x52c564
lea ecx, [ebp - 0xf4]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bd08c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf4]
lea edx, [ebp - 0x4c]
call fcn.00406f70
lea eax, [ebp - 0x50]
call fcn.00403a10
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x34], 0
je 0x52c26c
lea edx, [ebp - 0x50]
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 - 0x30], eax
mov eax, dword [ebp - 0x30]
call fcn.00411954
mov dl, 1
mov eax, dword [0x4179bc]
call fcn.0041db20
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x51], 0
xor eax, eax
push ebp
push 0x52c55d
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 0x52c3d6
inc eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0xf8]
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 - 0xf8]
lea edx, [ebp - 0xf4]
call fcn.00406f70
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x4c]
call fcn.00403d9c
je 0x52c334
lea ecx, [ebp - 0xf8]
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 - 0xf8]
lea edx, [ebp - 0xf4]
call fcn.00406f70
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x50]
call fcn.00403d9c
jne 0x52c3ca
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 - 0x3c], 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 - 0x40], eax
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
add eax, dword [ebp - 0x3c]
mov edx, dword [0x5bb024]
sub eax, dword [edx]
mov dword [ebp - 0x38], eax
xor eax, eax
push ebp
push 0x52c3be
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
call fcn.00542538
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov byte [ebp - 0x51], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x52c3d6
inc dword [ebp - 0xc]
dec dword [ebp - 0x5c]
jne 0x52c2c4
cmp byte [ebp - 0x51], 0
jne 0x52c4a1
mov dl, 1
mov eax, dword [0x4179bc]
call fcn.0041db20
mov dword [ebp - 0x48], eax
xor eax, eax
push ebp
push 0x52c49a
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x5bb380]
mov edx, dword [edx]
mov ecx, 0x52c63c
mov eax, dword [ebp - 0x48]
call fcn.0041e624
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x44]
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 - 0x44]
mov ecx, dword [eax]
call dword [ecx + 0x34]
push 0xcc0020
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
call dword [edx + 0x2c]
push eax
push 0
push 0
mov eax, dword [ebp - 0x48]
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 - 0x44]
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 0x52c4a1
mov eax, dword [ebp - 0x48]
call fcn.0041dfec
mov eax, dword [ebp - 0x48]
call fcn.00402e64
ret
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
call dword [edx + 0x60]
test eax, eax
je 0x52c4c9
mov eax, dword [ebp - 0x44]
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 - 0xf0]
push eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x10]
xor edx, edx
xor eax, eax
call fcn.0040d578
lea eax, [ebp - 0xf0]
push eax
mov eax, dword [0x5bd06c]
push eax
call sub.user32.dll_MapDialogRect
push 0x316
mov eax, dword [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0xe8]
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 0x52c564
mov eax, dword [ebp - 0x44]
call fcn.0041dfec
mov eax, dword [ebp - 0x44]
call fcn.0041f434
mov eax, dword [ebp - 0x44]
call fcn.00402e64
mov eax, dword [ebp - 0x30]
call fcn.00411954
mov eax, dword [ebp - 0x30]
call fcn.00402e64
ret
inc dword [ebp - 8]
dec dword [ebp - 0x58]
jne 0x52c01c
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 0x52c5c1
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 0x52c5d6
ret