Function at 0x403370
Capabilities:
Get graphical window text
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x134]
sub esp, 0x134
push 0xffffffffffffffff
push 0x642108
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x758898]
xor eax, ebp
mov dword [ebp + 0x130], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
wait
call fcn.005f6b34
push 0x71a
push esi
lea ecx, [esi + 0x160]
call fcn.004012a0
push 0x716
push esi
lea ecx, [esi + 0x170]
call fcn.004012a0
push 0x4ee
push esi
lea ecx, [esi + 0x180]
call fcn.004012a0
push 0x4a1
push esi
lea ecx, [esi + 0x120]
call fcn.004012a0
push 0x43d
push esi
lea ecx, [esi + 0x130]
call fcn.004012a0
push 0x49d
push esi
lea ecx, [esi + 0x140]
call fcn.004012a0
push 0x503
push esi
lea ecx, [esi + 0x150]
call fcn.004012a0
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x14], ebx
xor eax, eax
mov word [ebp + 0x10], ax
mov byte [ebp - 4], 1
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75eed8]
push edx
lea ecx, [ebp + 0xc]
call fcn.00401970
mov eax, dword [ebp + 0xc]
cmp eax, ebx
jne 0x403460
lea eax, [ebp + 0x10]
push eax
mov eax, dword [esi + 0x154]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 1
mov ecx, dword [esi + 0x200]
push ecx
mov ecx, esi
call fcn.004015e0
push ebx
mov edx, dword [esi + 0x200]
push edx
mov ecx, esi
call fcn.004015e0
push esi
call fcn.0045bf70
add esp, 4
cmp dword [0x75dd30], ebx
je 0x4034ab
push 0x64
push esi
mov ecx, 0x75dcf0
call fcn.004e6a60
lea edi, [esi + 0x190]
mov eax, dword [edi]
push ebx
push esi
mov ecx, edi
mov edx, dword [eax + 0x13c]
call edx
push 0x489
push esi
push edi
call fcn.00403240
push 0x4a5
push esi
push edi
call fcn.00403240
push 0x4a3
push esi
push edi
call fcn.00403240
push 0x43d
push esi
push edi
call fcn.00403240
push 0x4a1
push esi
push edi
call fcn.00403240
add esp, 0x3c
push 1
mov ecx, edi
call fcn.00401620
mov ecx, esi
call fcn.004015c0
push 0x5a
mov eax, dword [eax + 8]
push eax
mov ebx, dword [sym.imp.GDI32.dll_GetDeviceCaps]
call ebx
push 0x678e78
push 0x20
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x2bc
push 0
push 0
push 0
push 0x48
push eax
push 0xe
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
test eax, eax
je 0x40356c
push 1
push eax
push 0x30
push 0x49c
mov ecx, esi
call fcn.005f5a75
mov ecx, eax
call fcn.004015a0
mov edi, 8
mov dword [ebp - 0x1c], edi
cmp dword [0x75ddc8], 0
je 0x403616
fld qword [0x678e70]
fld qword [0x752d60]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4035a1
fstp st(0)
mov edi, 0x10
jmp 0x403613
fld qword [0x678e68]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x4035b9
fstp st(0)
mov edi, 0xe
jmp 0x403613
fld qword [0x678e60]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x4035d1
fstp st(0)
mov edi, 0xc
jmp 0x403613
fld qword [0x678e58]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x4035e9
fstp st(0)
mov edi, 0xb
jmp 0x403613
fld qword [0x678e50]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x403601
fstp st(0)
mov edi, 0xa
jmp 0x403613
fcomp qword [0x678e48]
fnstsw ax
test ah, 0x41
jne 0x403616
mov edi, 9
mov dword [ebp - 0x1c], edi
mov ecx, esi
call fcn.004015c0
push 0x5a
mov ecx, dword [eax + 8]
push ecx
call ebx
push 0x678e3c
push 0x20
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x48
push eax
push edi
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
mov edi, eax
cmp edi, ebx
je 0x403683
push 1
push edi
push 0x30
push 0x4a3
mov ecx, esi
call fcn.005f5a75
mov ecx, eax
call fcn.004015a0
push 1
push edi
push 0x30
push 0x4a5
mov ecx, esi
call fcn.005f5a75
mov ecx, eax
call fcn.004015a0
cmp dword [0x752d2c], ebx
jne 0x4039a1
lea ecx, [ebp - 0x20]
call fcn.004024f0
mov byte [ebp - 4], 2
lea edx, [ebp - 0x18]
push edx
push 1
push ebx
push 0x678e18
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x24], eax
cmp eax, ebx
je 0x4036c1
mov eax, dword [0x75dbe4]
mov dword [ebp - 0x18], eax
mov ebx, 0x32
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp + 0xfc]
push edx
push 0
push 0
mov eax, dword [0x75f494]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
call edi
test eax, eax
je 0x403714
mov dword [ebp - 0x14], ebx
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp + 0xfc]
push eax
push 0
push 0
mov ecx, dword [0x75f494]
push ecx
mov edx, dword [0x75dbe4]
push edx
call edi
test eax, eax
jne 0x403730
lea eax, [ebp + 0xfc]
push eax
lea ecx, [ebp - 0x20]
call fcn.0054f750
push 0x678e14
lea ecx, [ebp - 0x20]
call fcn.00403060
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp + 0xc8]
push edx
push 0
push 0
mov eax, dword [0x75f498]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call edi
test eax, eax
je 0x403778
mov dword [ebp - 0x14], ebx
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp + 0xc8]
push eax
push 0
push 0
mov ecx, dword [0x75f498]
push ecx
mov edx, dword [0x75dbe4]
push edx
call edi
test eax, eax
jne 0x403787
lea eax, [ebp + 0xc8]
push eax
lea ecx, [ebp - 0x20]
call fcn.00403060
cmp dword [ebp - 0x24], 0
jne 0x40379f
mov eax, dword [ebp - 0x18]
cmp eax, dword [0x75dbe4]
je 0x40379f
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x20]
cmp dword [ecx - 0xc], 0
je 0x4037c7
push 0
mov edx, dword [esi + 0x124]
push edx
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [ebp - 0x20]
push eax
push 0x49d
mov ecx, esi
call fcn.005f5af2
mov dword [ebp - 0x34], 0
mov ebx, 4
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x2c]
push edx
push 0
push 0
push str.nExpDt
mov eax, dword [0x75dbe4]
push eax
call edi
test eax, eax
jne 0x4038a7
mov eax, dword [ebp - 0x2c]
test eax, eax
jbe 0x4038a7
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
push str._b__d__Y
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x3c]
call fcn.00403160
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x30]
call fcn.004024f0
mov byte [ebp - 4], bl
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [0x75f6d0]
push eax
lea ecx, [ebp - 0x30]
push ecx
call fcn.00402f60
add esp, 0xc
xor edi, edi
mov dword [ebp + 0x24], edi
mov dword [ebp + 0x2c], edi
xor edx, edx
mov word [ebp + 0x28], dx
mov byte [ebp - 4], 5
mov eax, dword [0x75dd28]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
lea ecx, [ebp + 0x24]
call fcn.00401970
mov eax, dword [ebp + 0x24]
cmp eax, edi
jne 0x40386d
lea eax, [ebp + 0x28]
push eax
mov edx, dword [esi + 0x174]
push edx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [ebp - 0x34], 1
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x24]
call fcn.00401210
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x30]
call fcn.00402560
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24]
call fcn.00402560
jmp 0x40391a
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x2c]
push ecx
push 0
push 0
push str.nLst
mov edx, dword [0x75dbe4]
push edx
call edi
test eax, eax
jne 0x403918
cmp dword [ebp - 0x2c], 1
jne 0x403918
xor edi, edi
mov dword [ebp + 0x3c], edi
mov dword [ebp + 0x44], edi
mov word [ebp + 0x40], ax
mov byte [ebp - 4], 6
mov ecx, dword [0x75dd28]
push ecx
mov edx, dword [0x75f7b4]
push edx
lea ecx, [ebp + 0x3c]
call fcn.00401970
mov eax, dword [ebp + 0x3c]
cmp eax, edi
jne 0x4038fe
lea eax, [ebp + 0x40]
push eax
mov eax, dword [esi + 0x174]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x3c]
call fcn.00401210
xor edi, edi
lea ecx, [ebp - 0x28]
call fcn.004024f0
mov bl, 7
mov byte [ebp - 4], bl
mov ecx, dword [0x75ddbc]
push ecx
mov edx, dword [0x75f6d8]
push edx
lea eax, [ebp - 0x28]
push eax
call fcn.00402f60
add esp, 0xc
mov dword [ebp + 0x30], edi
mov dword [ebp + 0x38], edi
xor ecx, ecx
mov word [ebp + 0x34], cx
mov byte [ebp - 4], 8
mov edx, dword [0x75dd28]
push edx
mov eax, dword [ebp - 0x28]
push eax
lea ecx, [ebp + 0x30]
call fcn.00401970
mov eax, dword [ebp + 0x30]
cmp eax, edi
jne 0x40396e
lea eax, [ebp + 0x34]
push eax
mov ecx, dword [esi + 0x164]
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x30]
call fcn.00401210
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00402560
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.00402560
xor ebx, ebx
push 0x40
lea edx, [ebp + 0x48]
push edx
mov eax, dword [esi + 0x184]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jle 0x403a75
push 0x75dd9c
lea ecx, [ebp - 0x18]
call fcn.004027e0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x18]
cmp dword [0x752d2c], ebx
je 0x4039df
push str.Trial
jmp 0x4039e4
push str.Full
call fcn.00403060
mov dword [ebp], ebx
mov dword [ebp + 8], ebx
xor ecx, ecx
mov word [ebp + 4], cx
mov byte [ebp - 4], 0xa
mov edx, dword [0x75dd28]
push edx
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp]
call fcn.00401970
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x20], ebx
xor ecx, ecx
mov word [ebp + 0x1c], cx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp]
cmp eax, ebx
jne 0x403a26
lea eax, [ebp + 4]
push ebx
push eax
lea edx, [ebp + 0x48]
push edx
push 0x678de0
lea ecx, [ebp + 0x18]
call fcn.00402310
mov eax, dword [ebp + 0x18]
cmp eax, ebx
jne 0x403a43
lea eax, [ebp + 0x1c]
push eax
mov eax, dword [esi + 0x184]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov byte [ebp - 4], 0xa
lea ecx, [ebp + 0x18]
call fcn.00401210
mov byte [ebp - 4], 9
lea ecx, [ebp]
call fcn.00401210
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.00401210
wait
mov dword [ebp - 4], 0xffffffff
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x130]
xor ecx, ebp
call fcn.00620b8d
add ebp, 0x134
mov esp, ebp
pop ebp
ret