Function at 0x523dec
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 0x524f55
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x523e4f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, pe_nt_image_headers32
call fcn.00447748
mov eax, 4
call fcn.00447748
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x523e59
xor eax, eax
mov dword [0x5a8094], eax
xor eax, eax
mov dword [0x5a8098], eax
xor eax, eax
mov dword [0x5a809c], eax
mov byte [0x5a4af8], 0
xor eax, eax
mov dword [0x5a8194], eax
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
call fcn.00411924
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
cmp dword [eax*8 + 0x5a80d0], 0xffffffff
je 0x523ec0
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
cmp dword [eax*8 + 0x5a80d0], 0
je 0x523ec0
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov eax, dword [eax*8 + 0x5a80d0]
push eax
call sub.user32.dll_DestroyWindow
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov dword [eax*8 + 0x5a80d0], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], 8
jl 0x523e8d
cmp dword [0x5a8190], 0xffffffff
je 0x523ef7
cmp dword [0x5a8190], 0
je 0x523ef7
mov eax, dword [0x5a8190]
push eax
call sub.user32.dll_DestroyWindow
mov dword [0x5a8190], 0xffffffff
xor eax, eax
push ebp
push 0x524f18
push dword fs:[eax]
mov dword fs:[eax], esp
test byte [0x5a8002], 4
jne 0x523f2a
test byte [0x5a8002], 0x40
jne 0x523f2a
test byte [0x5a8003], 2
jne 0x523f2e
xor eax, eax
jmp 0x523f30
mov al, 1
mov byte [0x5a80cc], al
cmp dword [0x5a7ff8], 0
jne 0x523f48
mov dword [0x5a7ff8], 0xa
cmp dword [0x5a7ffc], 0
jne 0x523f5b
mov dword [0x5a7ffc], 0xa
cmp byte [0x5a7fe8], 0
je 0x523ff7
mov word [ebp - 0x7c], 1
mov word [ebp - 0x7a], 0xffff
xor eax, eax
mov dword [ebp - 0x78], eax
mov eax, dword [0x5a8008]
mov dword [ebp - 0x74], eax
mov eax, dword [0x5a8000]
or eax, 0x10000000
mov dword [ebp - 0x70], eax
mov ax, word [0x5a7fec]
mov word [ebp - 0x6c], ax
mov word [ebp - 0x6a], 0
mov word [ebp - 0x68], 0
mov ax, word [0x5a7ff8]
mov word [ebp - 0x66], ax
mov ax, word [0x5a7ffc]
mov word [ebp - 0x64], ax
mov word [ebp - 0x62], 0
mov word [ebp - 0x60], 0
test byte [ebp - 0x6d], 0x80
je 0x523fd1
and dword [ebp - 0x70], 0x7fffffff
test byte [ebp - 0x6d], 0x40
jne 0x523fde
or dword [ebp - 0x70], 0x40000000
lea edx, [ebp - 0x7c]
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
mov ecx, 0x1e
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x524097
mov eax, dword [0x5a8000]
or eax, 0x10000000
mov dword [ebp - 0x94], eax
mov eax, dword [0x5a8008]
mov dword [ebp - 0x90], eax
mov ax, word [0x5a7fec]
mov word [ebp - 0x8c], ax
mov word [ebp - 0x8a], 0
mov word [ebp - 0x88], 0
mov ax, word [0x5a7ff8]
mov word [ebp - 0x86], ax
mov ax, word [0x5a7ffc]
mov word [ebp - 0x84], ax
mov word [ebp - 0x82], 0
mov word [ebp - 0x80], 0
test byte [ebp - 0x91], 0x80
je 0x52406d
and dword [ebp - 0x94], 0x7fffffff
test byte [ebp - 0x91], 0x40
jne 0x524080
or dword [ebp - 0x94], 0x40000000
lea edx, [ebp - 0x94]
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
mov ecx, 0x16
mov ebx, dword [eax]
call dword [ebx + 8]
push ebp
mov eax, dword [0x5a801c]
call fcn.00523a58
pop ecx
cmp byte [0x5a8024], 0
je 0x524103
mov edx, 0x5a802c
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
mov ecx, 2
mov ebx, dword [eax]
call dword [ebx + 8]
cmp byte [0x5a7fe8], 0
je 0x5240f7
mov edx, 0x5a8030
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
mov ecx, 2
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, 0x5a8034
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
mov ecx, 2
mov ebx, dword [eax]
call dword [ebx + 8]
push ebp
mov eax, dword [0x5a8028]
call fcn.00523a58
pop ecx
mov al, byte [0x5a8024]
mov byte [0x5a8038], al
mov eax, 0x5a803c
mov edx, dword [0x5a8028]
call fcn.00403a64
mov eax, dword [0x5a802c]
mov dword [0x5a8040], eax
mov eax, dword [0x5a8030]
mov dword [0x5a8044], eax
mov eax, dword [0x5a8034]
mov dword [0x5a8048], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp byte [0x5a7fe8], 0
je 0x52415d
lea edx, [ebp - 0x18]
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
mov ecx, 4
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
call fcn.00411258
call fcn.005343bc
mov ebx, eax
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
call fcn.00411258
sub ebx, eax
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0
je 0x52419e
xor eax, eax
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x1c]
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x5a7fec]
dec eax
test eax, eax
jl 0x524540
inc eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 8], 0
mov edx, dword [ebp - 8]
mov eax, dword [0x5a806c]
call fcn.0040e308
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 0x524379
push ebp
lea ecx, [ebp - 0xf4]
mov edx, dword [ebp - 8]
mov eax, dword [0x5a8070]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf4]
call fcn.00523b28
pop ecx
test al, al
jne 0x524365
cmp byte [0x5a7fe8], 0
jne 0x5242b8
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 0x52438b
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 0x52438b
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 0x52438b
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 0x52452d
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 [0x5a7fe8], 0
jne 0x524447
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.00523db0
pop ecx
mov edx, dword [ebp - 0x20]
mov dword [edx], eax
mov eax, dword [0x5a5f04]
cmp byte [eax], 0
je 0x524439
mov eax, dword [ebp - 0x10]
cmp dword [eax], 6
jne 0x524439
lea ecx, [ebp - 0xf8]
mov edx, dword [ebp - 8]
mov eax, dword [0x5a8070]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf8]
lea edx, [ebp - 0xf4]
call fcn.00406fa4
mov eax, dword [ebp - 0xf4]
mov edx, 0x524f6c
call fcn.00403d9c
jne 0x524439
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 0x5244c3
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.00523db0
pop ecx
mov edx, dword [ebp - 0x24]
mov dword [edx + 4], eax
mov eax, dword [0x5a5f04]
cmp byte [eax], 0
je 0x5244b7
mov eax, dword [ebp - 0x10]
cmp dword [eax], 6
jne 0x5244b7
lea ecx, [ebp - 0xf8]
mov edx, dword [ebp - 8]
mov eax, dword [0x5a8070]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf8]
lea edx, [ebp - 0xf4]
call fcn.00406fa4
mov eax, dword [ebp - 0xf4]
mov edx, 0x524f6c
call fcn.00403d9c
jne 0x5244b7
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 [0x5a7fec]
dec eax
cmp eax, dword [ebp - 8]
jne 0x524505
cmp byte [0x5a7fe8], 0
je 0x5244ee
mov ecx, dword [ebp - 0x18]
sub ecx, 4
mov edx, dword [ebp - 0x28]
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x524517
mov ecx, dword [ebp - 0x18]
sub ecx, 2
mov edx, dword [ebp - 0x28]
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x524517
mov edx, dword [ebp - 0x28]
mov eax, dword [0x5a64e8]
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 0x524534
mov eax, dword [ebp - 0x28]
call fcn.004026c0
ret
mov eax, 0x5a8198
xor ecx, ecx
mov edx, pe_nt_image_headers32
call fcn.00402b14
mov edx, 0x5a8198
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
mov ecx, pe_nt_image_headers32
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
xor ecx, ecx
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
push 0x523188
mov eax, dword [0x5a6450]
mov eax, dword [eax]
call fcn.0042771c
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.0040637c
mov dword [0x5a8054], eax
cmp dword [0x5a8054], 0
je 0x524ed5
mov eax, dword [0x5a66ec]
cmp dword [eax], 0xffffffff
jne 0x52460d
mov eax, dword [0x5a67e4]
cmp dword [eax], 0xffffffff
jne 0x52460d
lea eax, [ebp - 0xa4]
push eax
mov eax, dword [0x5a5f5c]
mov eax, dword [eax]
mov eax, dword [eax + 0x2bc]
call fcn.0042771c
push eax
call sub.user32.dll_GetWindowRect
mov eax, dword [ebp - 0xa4]
add eax, 0x40
mov edx, dword [0x5a66ec]
mov dword [edx], eax
mov eax, dword [ebp - 0x98]
sub eax, 0x96
mov edx, dword [0x5a67e4]
mov dword [edx], eax
mov eax, dword [0x5a8054]
push eax
push 0x5228dc
mov eax, dword [0x5a8054]
push eax
call sub.user32.dll_EnumChildWindows
push 1
mov eax, dword [0x5a8054]
push eax
call sub.user32.dll_ShowWindow
mov dword [ebp - 0x18], 0x10
mov eax, dword [0x5a5f04]
cmp byte [eax], 0
je 0x524647
or dword [ebp - 0x18], 0x40
jmp 0x52466a
mov eax, dword [0x5a5f5c]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
cmp byte [eax + 0xc0], 0
je 0x524666
or dword [ebp - 0x18], 0x80
jmp 0x52466a
or dword [ebp - 0x18], 0x40
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [0x5a6450]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
push eax
mov eax, dword [0x5a6450]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
push eax
mov eax, dword [0x5a67e4]
mov eax, dword [eax]
push eax
mov eax, dword [0x5a66ec]
mov eax, dword [eax]
push eax
push 0
mov eax, dword [0x5a6450]
mov eax, dword [eax]
call fcn.0042771c
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [0x5a6450]
mov eax, dword [eax]
call fcn.0042771c
push eax
mov eax, dword [0x5a8054]
push eax
call sub.user32.dll_SetParent
mov eax, dword [0x5a6450]
mov eax, dword [eax]
call fcn.0042355c
mov dword [0x5a80bc], eax
mov eax, dword [0x5a6450]
mov eax, dword [eax]
call fcn.004235a0
mov dword [0x5a80c0], eax
mov dword [0x5a8094], 0xffffffff
mov eax, dword [0x5a5f04]
cmp byte [eax], 0
je 0x524726
call fcn.00522568
push 0
mov eax, dword [0x5a6450]
mov eax, dword [eax]
call fcn.004235a0
push eax
mov eax, dword [0x5a6450]
mov eax, dword [eax]
call fcn.0042355c
push eax
push 0
push 0
mov eax, dword [0x5a8190]
push eax
call sub.user32.dll_MoveWindow
push 0xffffffffffffffff
mov eax, dword [0x5a8054]
push eax
call sub.user32.dll_EnableWindow
lea eax, [ebp - 0xa4]
push eax
mov eax, dword [0x5a8054]
push eax
call sub.user32.dll_GetClientRect
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0xa4]
mov dword [0x5a8064], eax
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0xa0]
mov dword [0x5a8068], eax
mov eax, 0x5a8020
mov edx, dword [0x5a801c]
call fcn.00403a64
mov eax, dword [0x5a8000]
mov dword [0x5a8004], eax
mov eax, dword [0x5a8008]
mov dword [0x5a800c], eax
xor eax, eax
mov dword [0x5a8010], eax
cmp dword [0x5a8014], 0
je 0x5248c6
mov eax, dword [0x5a5f04]
cmp byte [eax], 0
jne 0x5248c6
push 0xfffffffffffffff0
mov eax, dword [0x5a8054]
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 [0x5a8054]
push eax
call sub.user32.dll_SetWindowLongA
mov eax, dword [0x5a5d44]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x5248c6
mov eax, dword [0x5a5d44]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5248c6
inc eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 8], 0
lea ecx, [ebp - 0xf4]
mov eax, dword [0x5a5d44]
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 [0x5a8014]
call fcn.00403d9c
jne 0x5248ba
xor eax, eax
push ebp
push 0x5248ae
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5a5d44]
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 [0x5a829c], eax
mov eax, dword [0x5a829c]
push eax
mov eax, dword [0x5a8054]
push eax
call sub.user32.dll_SetMenu
test eax, eax
je 0x524892
mov eax, dword [0x5a8054]
push eax
call sub.user32.dll_DrawMenuBar
push 0xffffffffffffffff
mov eax, dword [0x5a829c]
push eax
call sub.user32.dll_EnableWindow
jmp 0x5248a4
mov eax, dword [0x5a829c]
push eax
call sub.user32.dll_DestroyMenu
xor eax, eax
mov dword [0x5a829c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5248c6
inc dword [ebp - 8]
dec dword [ebp - 0x58]
jne 0x524809
xor eax, eax
mov dword [ebp - 0xa4], eax
xor eax, eax
mov dword [ebp - 0xa0], eax
mov eax, dword [0x5a7ff8]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x5a7ffc]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0xa4]
push eax
mov eax, dword [0x5a8054]
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 [0x5a7ff8]
fdivp st(1)
fstp dword [0x5a80c4]
wait
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0xa0]
mov dword [ebp - 0xfc], eax
fild dword [ebp - 0xfc]
fild dword [0x5a7ffc]
fdivp st(1)
fstp dword [0x5a80c8]
wait
mov eax, dword [0x5a7fec]
dec eax
test eax, eax
jl 0x524eb9
inc eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 8], 0
mov edx, dword [ebp - 8]
mov eax, dword [0x5a806c]
call fcn.0040e308
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp dword [eax], 1
jne 0x524ead
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x18]
and eax, 0xf
sub eax, 3
je 0x52499d
sub eax, 0xb
je 0x524b75
jmp 0x524ead
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [0x5a6210]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x524a61
inc eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0xf8]
mov edx, dword [ebp - 8]
mov eax, dword [0x5a8074]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf8]
lea edx, [ebp - 0xf4]
call fcn.00406f68
mov eax, dword [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x100]
mov eax, dword [0x5a6210]
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.00406f68
mov edx, dword [ebp - 0xf8]
pop eax
call fcn.00403d9c
jne 0x524a55
lea ecx, [ebp - 0xf4]
mov edx, dword [ebp - 8]
mov eax, dword [0x5a8074]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [0x5a6210]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
pop edx
call fcn.005237b4
mov dword [ebp - 0x2c], eax
jmp 0x524a61
inc dword [ebp - 0xc]
dec dword [ebp - 0x5c]
jne 0x5249c2
cmp dword [ebp - 0x2c], 0
jne 0x524ac8
xor eax, eax
push ebp
push 0x524aae
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0xf4]
mov edx, dword [ebp - 8]
mov eax, dword [0x5a8074]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf4]
call fcn.00407460
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 0x524ab8
cmp dword [ebp - 0x2c], 0
jne 0x524ac8
mov eax, dword [0x5a6650]
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 0x524afb
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x10], 0x15
je 0x524afb
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.0040d548
lea eax, [ebp - 0xf0]
push eax
mov eax, dword [0x5a8054]
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 [0x5a80c4]
call fcn.00402964
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x4c], eax
jmp 0x524ead
lea ecx, [ebp - 0xf4]
mov edx, dword [ebp - 8]
mov eax, dword [0x5a8074]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf4]
lea edx, [ebp - 0x4c]
call fcn.00406f68
lea eax, [ebp - 0x50]
call fcn.00403a10
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x34], 0
je 0x524bb5
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.004073f4
mov dl, 1
mov eax, dword [0x40d000]
call fcn.00402e3c
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
call fcn.00411924
mov dl, 1
mov eax, dword [0x4179dc]
call fcn.0041db40
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x51], 0
xor eax, eax
push ebp
push 0x524ea6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5a6690]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x524d1f
inc eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0xf8]
mov eax, dword [0x5a6690]
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.00406f68
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x4c]
call fcn.00403d9c
je 0x524c7d
lea ecx, [ebp - 0xf8]
mov eax, dword [0x5a6690]
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.00406f68
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x50]
call fcn.00403d9c
jne 0x524d13
mov eax, dword [0x5a6690]
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 [0x5a6690]
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 [0x5a5f6c]
sub eax, dword [edx]
mov dword [ebp - 0x38], eax
xor eax, eax
push ebp
push 0x524d07
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.00536758
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 0x524d1f
inc dword [ebp - 0xc]
dec dword [ebp - 0x5c]
jne 0x524c0d
cmp byte [ebp - 0x51], 0
jne 0x524dea
mov dl, 1
mov eax, dword [0x4179dc]
call fcn.0041db40
mov dword [ebp - 0x48], eax
xor eax, eax
push ebp
push 0x524de3
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x5a62ac]
mov edx, dword [edx]
mov ecx, 0x524f84
mov eax, dword [ebp - 0x48]
call fcn.0041e644
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
call dword [ecx + 0x40]
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.0041e074
call fcn.00419878
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.0041e074
call fcn.00419878
push eax
call sub.gdi32.dll_StretchBlt
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x524dea
mov eax, dword [ebp - 0x48]
call fcn.0041e00c
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 0x524e12
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.0040d548
lea eax, [ebp - 0xf0]
push eax
mov eax, dword [0x5a8054]
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 0x524ead
mov eax, dword [ebp - 0x44]
call fcn.0041e00c
mov eax, dword [ebp - 0x44]
call fcn.0041f454
mov eax, dword [ebp - 0x44]
call fcn.00402e64
mov eax, dword [ebp - 0x30]
call fcn.00411924
mov eax, dword [ebp - 0x30]
call fcn.00402e64
ret
inc dword [ebp - 8]
dec dword [ebp - 0x58]
jne 0x524965
push 0
mov eax, dword [0x5a8054]
push eax
call sub.user32.dll_ShowWindow
push 4
mov eax, dword [0x5a8054]
push eax
call sub.user32.dll_ShowWindow
jmp 0x524f0a
mov eax, dword [0x5a64e8]
mov eax, dword [eax]
call fcn.00411924
mov eax, dword [0x5a67d0]
mov byte [eax], 1
mov eax, dword [0x5a6450]
mov eax, dword [eax]
call fcn.00431838
mov eax, dword [0x5a6450]
mov eax, dword [eax]
call fcn.00402e64
mov eax, dword [0x5a6450]
xor edx, edx
mov dword [eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x524f1f
ret