Function at 0x61b590
Capabilities:
Print debug messages
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x4e8
mov ebx, dword [ebp + 8]
mov al, byte [0x80dd31]
and al, 1
je 0x61b601
mov ecx, 9
mov dword [esp + 0x50], eax
mov byte [esp + 0x27], al
mov byte [esp + 0x37], al
mov byte [esp + 0x49], al
mov byte [esp + 0x48], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x3d], dl
mov byte [esp + 0x36], dl
mov dword [esp + 0x40], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x28], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], esi
mov byte [esp + 0x3e], ah
mov dword [esp + 0x58], ebx
jmp 0x61b6f3
mov al, 0x64
movzx eax, al
cmp eax, 0x4f
jne 0x61b695
mov esi, 0x13
mov dword [0x80dd34], ebx
lea eax, [esp + 0x60]
mov dword [esp], eax
call fcn.007c8610
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], eax
mov byte [esp + 0x3f], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x4a], al
mov byte [esp + 0x27], al
mov byte [esp + 0x3d], al
mov byte [esp + 0x36], al
mov byte [esp + 0x3e], al
mov byte [esp + 0x37], al
mov byte [esp + 0x49], al
mov byte [esp + 0x48], al
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x4c], eax
je 0x61c794
jmp 0x61b7be
mov eax, 1
mov dword [esp + 0x50], ecx
mov byte [esp + 0x3f], cl
mov byte [esp + 0x4b], cl
mov byte [esp + 0x4a], cl
mov byte [esp + 0x27], cl
mov byte [esp + 0x3d], cl
mov byte [esp + 0x36], cl
mov byte [esp + 0x3e], cl
mov byte [esp + 0x37], cl
mov byte [esp + 0x49], cl
mov byte [esp + 0x48], cl
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x4c], edx
jmp 0x61b843
mov byte [esp + 0x4a], al
mov eax, 0xffffffff
cmp ecx, 7
jne 0x61b7b6
movzx eax, dl
cmp eax, 0x3b
je 0x61b764
mov esi, 3
cmp eax, 0x69
jne 0x61b7ad
mov byte [esp + 0x37], 0x1e
mov byte [esp + 0x3f], 0xd
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 8], 4
call fcn.007c51d0
mov eax, dword [esp + 0x74]
cmp eax, 0x17ffff
ja 0x61bdf6
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x61c61b
jmp 0x61bdf6
mov byte [esp + 0x37], 0x1e
mov byte [esp + 0x3f], 0xd
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 8], 4
call fcn.007c51d0
mov eax, dword [esp + 0x74]
cmp eax, 0x17ffff
ja 0x61bdf6
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x61c61b
jmp 0x61bdf6
mov byte [esp + 0x3f], dh
jmp 0x61b878
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
jmp 0x61b801
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
add esi, eax
mov dword [esp], str.Call_to_gmtime_failed_n
call sub.KERNEL32.dll_OutputDebugStringA
sub esp, 4
mov dword [esp], str.Call_to_gmtime_failed_n
call fcn.007cb940
call fcn.0044c100
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp esi, eax
jb 0x61b7d0
mov eax, 0x10
mov cl, 0x74
movsd xmm0, qword [esp + 0x60]
movsd qword [0x80dd28], xmm0
mov edx, dword [0x7f78b4]
test edx, edx
je 0x61b843
imul edx, edx
and edx, 3
cmp edx, 3
jne 0x61be59
mov edx, eax
not edx
and edx, 1
add edx, eax
setne dl
movzx edx, dl
cmp eax, edx
mov ebx, dword [ebp + 8]
jne 0x61b8d5
mov esi, 0xa
mov dword [0x80dd34], ebx
lea eax, [esp + 0x60]
mov dword [esp], eax
call fcn.007c8610
test eax, eax
jne 0x61b7be
cmp esi, 3
jne 0x61b815
mov eax, 3
sub eax, esi
xor eax, esi
je 0x61b815
mov byte [esp + 0x37], 0x1e
mov byte [esp + 0x3f], 0xd
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 8], 4
call fcn.007c51d0
cmp dword [esp + 0x74], 0x180000
jb 0x61b96a
mov esi, 0xd
xor eax, eax
test al, al
mov eax, 0x18
je 0x61bf68
jmp 0x61c5d5
movzx eax, cl
cmp eax, 5
je 0x61b8fe
mov ebx, 2
cmp eax, 0x2c
je 0x61bcdf
mov esi, 0x16
cmp eax, 0x74
jne 0x61b93b
mov bl, byte [esp + 0x49]
jmp 0x61bdd2
mov byte [esp + 0x3d], 0x15
mov dword [esp], str.NTDLL.DLL
call sub.KERNEL32.dll_GetModuleHandleA
sub esp, 4
test eax, eax
jne 0x61b974
mov esi, 0x18
mov dword [esp + 0x28], eax
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
mov ecx, 0x13
jne 0x61b9ee
jmp 0x61cad7
mov esi, 0x16
mov ebx, 0xf
mov byte [esp + 0x3d], 0x15
mov dword [esp], str.NTDLL.DLL
call sub.KERNEL32.dll_GetModuleHandleA
sub esp, 4
mov dword [esp + 0x28], eax
test eax, eax
jne 0x61bba0
jmp 0x61ba73
mov eax, 0x18
jmp 0x61c5d5
mov dword [esp + 0x28], eax
mov ecx, 0x13
jmp 0x61cad7
mov ebx, 9
mov byte [esp + 0x3d], 0x15
mov dword [esp], str.NTDLL.DLL
call sub.KERNEL32.dll_GetModuleHandleA
sub esp, 4
mov dword [esp + 0x28], eax
test eax, eax
je 0x61c979
mov esi, 0x16
xor eax, eax
test al, al
jne 0x61c979
cmp esi, 9
je 0x61c613
imul esi, esi
and esi, 3
cmp esi, 2
mov ebx, dword [ebp + 8]
je 0x61cc57
mov eax, 0xd
movzx ecx, byte [esp + 0x3d]
cmp ecx, 0x15
je 0x61c8dc
mov esi, 0xf
cmp ecx, 0x1c
jne 0x61ba44
cmp esi, 0xf
jne 0x61ba90
mov ecx, esi
or ecx, 2
xor esi, 2
add esi, ecx
mov bl, byte [esp + 0x49]
je 0x61bab1
mov byte [esp + 0x3d], 0x70
mov byte [esp + 0x36], 0x4b
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], str.wine_get_version
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
test eax, eax
jne 0x61ca7c
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x61bab1
jmp 0x61ca7c
mov esi, 0xb
mov ebx, 0x1f
mov byte [esp + 0x3d], 0x1c
mov byte [esp + 0x36], 0x4b
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], str.wine_get_version
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
test eax, eax
je 0x61ba96
cmp ebx, 0xf
jne 0x61ca78
mov eax, ebx
not eax
and eax, 1
add eax, ebx
mov bl, byte [esp + 0x49]
jne 0x61bab1
jmp 0x61ca7c
mov bl, byte [esp + 0x49]
jmp 0x61bab1
cmp esi, 7
je 0x61c35c
mov eax, esi
and eax, 1
inc eax
xor eax, esi
je 0x61c35c
mov bl, byte [esp + 0x49]
mov dword [esp + 8], str.GlobalSafeNet_SentinelLM
mov dword [esp + 4], 0
mov dword [esp], 0x100000
call sub.KERNEL32.dll_OpenMutexA
sub esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
je 0x61bb66
mov al, 7
mov esi, 0xc
movzx eax, al
cmp eax, 7
je 0x61bb9c
mov byte [esp + 0x49], bl
cmp eax, 0x59
je 0x61bbb8
mov ebx, 3
mov byte [esp + 0x3e], 0x7b
lea eax, [esp + 0x74]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x38], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x20019
mov dword [esp + 8], 0
mov dword [esp + 4], str.SYSTEMCurrentControlSetServiceshasplmsParameters
mov dword [esp], 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
sub esp, 0x14
test eax, eax
jne 0x61c7c1
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne 0x61bc08
jmp 0x61c7c1
mov byte [esp + 0x49], bl
mov al, 0x69
mov ebx, 0xf
movsx ecx, al
cmp ecx, 0x68
jg 0x61bcc5
movzx ecx, al
cmp ecx, 3
je 0x61bd3b
mov eax, 0x19
cmp ecx, 0x2f
je 0x61c63c
jmp 0x61c357
mov byte [esp + 0x49], bl
cmp esi, 0xc
je 0x61bbb8
imul esi, esi
and esi, 3
cmp esi, 3
je 0x61bbb8
mov ebx, dword [ebp + 8]
jmp 0x61b9d1
mov byte [esp + 0x3e], 0x7b
lea eax, [esp + 0x74]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x38], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x20019
mov dword [esp + 8], 0
mov dword [esp + 4], str.SYSTEMCurrentControlSetServiceshasplmsParameters
mov dword [esp], 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
sub esp, 0x14
test eax, eax
jne 0x61c7d5
mov dword [esp + 0xb8], 0x40
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0xb8]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 0xc], ecx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], str.Version
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
sub esp, 0x18
mov ebx, eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
sub esp, 4
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx edx, al
mov ecx, dword [esp + 0xbc]
cmp ecx, 4
sete al
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
cmp ebx, edx
jne 0x61c7d5
or al, cl
je 0x61c7d5
cmp dword [esp + 0xb8], 4
jne 0x61c7d5
mov ecx, 7
mov dl, 0x3b
mov dh, byte [esp + 0x3f]
mov al, byte [esp + 0x4a]
jmp 0x61b6f3
mov esi, 7
movzx eax, al
cmp eax, 0x69
je 0x61ba96
cmp eax, 0x70
jne 0x61c357
xor ecx, ecx
cmp ebx, 2
jne 0x61bd7b
mov eax, ebx
or eax, 2
xor ebx, 2
add ebx, eax
mov ebx, dword [esp + 0x4c]
je 0x61bdb2
mov esi, 0xd
mov byte [esp + 0x3d], 0x15
mov dword [esp], str.NTDLL.DLL
call sub.KERNEL32.dll_GetModuleHandleA
sub esp, 4
test eax, eax
jne 0x61bdca
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov dword [esp + 0x28], eax
mov bl, byte [esp + 0x49]
jne 0x61bab1
jmp 0x61bdd2
xor ecx, ecx
mov eax, 0xfb
xor eax, 0xe0
mov dl, 1
jmp 0x61bd6e
mov esi, ecx
or esi, 2
mov edi, ecx
xor edi, 2
add edi, esi
setne dh
movzx esi, dh
add ecx, esi
mov dword [0x7f78b4], 1
test ecx, ecx
je 0x61bd50
test dl, dl
je 0x61bd50
jmp 0x61be11
mov ebx, dword [esp + 0x4c]
jmp 0x61bdb2
mov eax, 0xef
add eax, 0xffffff2a
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
adc ecx, 0
mov dword [0x7f78b4], 1
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x61bd90
jmp 0x61c36b
mov dword [esp + 0x28], eax
mov bl, byte [esp + 0x49]
mov byte [esp + 0x49], bl
cmp esi, 0xd
jne 0x61b982
imul esi, esi
and esi, 3
cmp esi, 2
jae 0x61b982
mov ebx, dword [ebp + 8]
jmp 0x61b9d1
movzx ecx, byte [esp + 0x37]
cmp ecx, 0x4c
je 0x61be2d
mov eax, 0xb
cmp ecx, 0x70
jne 0x61be11
mov byte [esp + 0x37], 0x70
jmp 0x61be21
cmp eax, 0xb
je 0x61be1c
xor eax, eax
test al, al
je 0x61be59
mov byte [esp + 0x37], 0x4c
mov dword [0x7f78b4], 2
jmp 0x61be4a
mov ecx, 0xf
mov byte [esp + 0x37], 0x1e
mov dword [0x7f78b4], 2
mov bl, byte [esp + 0x49]
jmp 0x61c935
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
mov esi, 5
mov bl, 0x16
call fcn.00446870
lea edi, [esp + 0xe4]
lea eax, [esp + 0xc4]
mov dword [esp + 0x5c], eax
mov dword [esp], edi
mov dword [esp + 4], 0x400
call fcn.0044c920
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x61c6c6
cmp esi, 5
jne 0x61beed
mov eax, esi
not eax
and eax, 1
add eax, esi
je 0x61beed
xor ecx, ecx
mov eax, 0xef
add eax, 0xffffff1d
jmp 0x61bed4
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
add ecx, edx
mov byte [edi], 0
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
cmp ecx, edx
jb 0x61bec0
jmp 0x61c6af
mov byte [esp + 0x49], bl
call fcn.0061dc90
mov ecx, eax
mov edx, dword [esp + 0x5c]
call fcn.0061cfe0
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], 0
test eax, eax
je 0x61c20c
xor eax, eax
test al, al
je 0x61cd81
jmp 0x61c20c
mov esi, 0x12
mov byte [esp + 0x49], 0x29
mov byte [esp + 0x48], 0x19
mov dword [esp], edi
call fcn.00407cf0
mov dword [esp], edi
call fcn.00407dd0
mov dword [esp], edi
mov dword [esp + 4], 0x400
call fcn.0044cd30
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x61bf8a
cmp esi, 0xd
jne 0x61c728
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
mov ebx, dword [ebp + 8]
jne 0x61bdf6
jmp 0x61c7a0
mov eax, 0xf
mov bl, 0x2f
cmp eax, 8
jne 0x61c713
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x61c728
jmp 0x61c713
mov byte [esp + 0x48], 6
mov byte [esp + 0x4a], 0x30
mov al, 0x15
mov dword [esp + 0x58], eax
mov byte [esp + 0x4b], 0x34
mov dword [esp], edi
call fcn.00407d80
call fcn.00407d30
mov dword [esp], eax
call fcn.004400e0
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x61c5af
mov esi, 2
cmp ebx, 0x928b
jne 0x61c95b
xor ebx, ebx
mov esi, 0xea
xor esi, 0xe3
jmp 0x61c045
inc ebx
mov dword [esp], str.access_demo
call fcn.00440120
mov dword [esp], str.error_demo
call fcn.00440150
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 8], str.hasp_demo.ini
mov dword [esp + 4], 0x20
call fcn.0064a2d0
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp ebx, eax
jb 0x61c010
jmp 0x61b9b6
mov byte [esp + 0x4b], 0x34
mov dword [esp], str.access
call fcn.00440120
mov dword [esp], str.error
call fcn.00440150
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 8], str.hasp.ini
mov dword [esp + 4], 0x20
call fcn.0064a2d0
jmp 0x61cc57
mov eax, 0xd5
xor al, 0xe4
mov dword [esp + 0x58], eax
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov dword [esp + 0xc], ebx
mov dword [esp], edi
mov dword [esp + 8], str.access__d
mov dword [esp + 4], 0x400
call fcn.0064a2d0
mov dword [esp], edi
call fcn.00440120
mov dword [esp + 0xc], ebx
mov dword [esp], edi
mov dword [esp + 8], str.error__d
mov dword [esp + 4], 0x400
call fcn.0064a2d0
mov dword [esp], edi
call fcn.00440150
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 8], str.hasp__d.ini
mov dword [esp + 4], 0x20
call fcn.0064a2d0
test esi, esi
jne 0x61cc57
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
jne 0x61c0a0
jmp 0x61cc57
mov byte [esp + 0x4a], 0x35
mov al, 0x3e
mov dword [esp + 0x54], eax
mov bl, 1
call fcn.00407dc0
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp], edi
mov dword [esp + 8], str._s_s
mov dword [esp + 4], 0x400
call fcn.0064a2d0
mov dword [esp], edi
call fcn.00401080
call fcn.0061dc60
mov ecx, eax
mov edx, esi
call fcn.0061cfe0
test eax, eax
je 0x61c1af
mov edx, 0xb
mov ecx, eax
mov dword [esp + 0x50], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x61caa7
jmp 0x61ce58
mov dword [esp + 0x50], eax
jmp 0x61ce58
call fcn.0061dc90
mov ecx, eax
mov edx, dword [esp + 0x5c]
call fcn.0061cfe0
mov dword [esp + 0x40], 0
test eax, eax
je 0x61c1f0
mov edx, 0xf
mov ecx, eax
mov dword [esp + 0x50], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x61ca51
jmp 0x61c20c
mov dword [esp + 0x50], eax
jmp 0x61c20c
mov al, 0x1e
mov dword [esp + 0x54], eax
mov esi, dword [esp + 0x50]
mov dword [esp], esi
call fcn.00401040
mov dword [esp + 0x40], esi
mov ebx, 8
mov al, 0x2d
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.004936c0
call fcn.00407e10
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov dword [esp], edi
mov dword [esp + 8], str._s_s
mov dword [esp + 4], 0x400
call fcn.0064a2d0
mov dword [esp], edi
call fcn.00401000
call fcn.0049a2b0
call fcn.0049abd0
call fcn.004449e0
call fcn.0043fcb0
call fcn.00453110
call fcn.00430510
call fcn.00434c90
call fcn.00435810
call fcn.0041d570
call fcn.00423820
call fcn.00429b40
call fcn.0042b9d0
call fcn.0042dde0
call fcn.0044bfd0
call fcn.004a7580
call fcn.0040a770
call fcn.0043e830
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x61c455
mov eax, 4
mov edx, ecx
and ecx, 1
inc ecx
xor ecx, edx
je 0x61c455
cmp eax, 3
jne 0x61c2ec
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x61c2ec
mov byte [esp + 0x3e], 0x1a
mov dword [0x7f78b4], 1
jmp 0x61be4a
mov eax, 0xe
mov ebx, dword [esp + 0x4c]
movzx ecx, bl
cmp ecx, 0x10
je 0x61c36b
mov esi, 2
cmp ecx, 0x2d
jne 0x61c3bd
xor esi, esi
mov ebx, 0xd4
add ebx, 0xffffff3a
jmp 0x61c344
mov al, bl
add al, 0x3c
mov dword [esp + 0x4c], eax
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
add esi, eax
call fcn.0049adc0
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x61c320
cmp ebx, 0xe
je 0x61c3d5
mov dword [0x7f78b4], 1
jmp 0x61be59
xor esi, esi
cmp eax, 0xe
je 0x61c3a3
imul eax, eax
and eax, 3
cmp eax, 2
je 0x61c3a3
mov dword [esp + 0x4c], ebx
jmp 0x61be59
mov ebx, 0xeb
add bl, 0x25
inc esi
call fcn.0049adc0
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp esi, eax
jb 0x61c390
mov dword [esp + 0x4c], ebx
jmp 0x61c3d5
mov ebx, dword [ebp + 8]
jmp 0x61c943
mov al, 0x2d
mov dword [esp + 0x4c], eax
call fcn.0049adc0
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov ebx, 1
call fcn.00407d30
mov dword [esp], eax
call fcn.0078a580
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x61ca00
call fcn.007aa9d0
test eax, eax
jne 0x61c48f
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x61c48f
call fcn.00407e20
call fcn.00408b20
call fcn.004497b0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00596750
call fcn.0059cca0
call fcn.00454440
test eax, eax
jne 0x61c460
mov ebx, 0xc
mov dword [esp], 0xffffffff
call fcn.007c6190
mov dword [esp + 0x30], eax
cmp ebx, 8
je 0x61c3d5
jmp 0x61c470
mov dword [esp], 1
call fcn.007c6190
mov dword [esp + 0x30], eax
mov eax, 7
mov esi, 6
mov byte [esp + 0x27], 0x56
cmp dword [esp + 0x30], 0
mov ebx, dword [ebp + 8]
jne 0x61cb7a
jmp 0x61c4b4
call fcn.007c4fd0
mov esi, eax
call fcn.007c4bf0
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], str.Failed_to_initialize_walledynvm__syserr__d__s__n
call fcn.00441610
call fcn.0044c0d0
cmp esi, 6
jne 0x61c5af
movzx eax, byte [esp + 0x27]
cmp eax, 5
jne 0x61c524
call fcn.0044e4b0
call fcn.0048d170
call fcn.004576f0
mov dword [esp + 0x10], 0x20
mov dword [esp + 0xc], 0x174e3
mov dword [esp + 8], 0
mov dword [esp + 4], 0x18
mov dword [esp], str.Application_startup__using_hasp_rt__u._u_build__u__u_bit_n
call fcn.00441380
call fcn.004465b0
call fcn.004489d0
call fcn.00444dd0
call fcn.004489d0
mov byte [0x80dd31], 1
xor eax, eax
jmp 0x61b7b6
xor esi, esi
jmp 0x61c590
add ecx, edx
setne al
movzx eax, al
add esi, eax
call fcn.0044e4b0
call fcn.0048d170
call fcn.004576f0
mov dword [esp + 0x10], 0x20
mov dword [esp + 0xc], 0x174e3
mov dword [esp + 8], 0
mov dword [esp + 4], 0x18
mov dword [esp], str.Application_startup__using_hasp_rt__u._u_build__u__u_bit_n
call fcn.00441380
call fcn.004465b0
call fcn.004489d0
call fcn.00444dd0
call fcn.004489d0
mov byte [0x80dd31], 1
mov ecx, esi
or ecx, 2
mov edx, esi
xor edx, 2
mov eax, ecx
add eax, edx
setne al
movzx edi, al
xor eax, eax
cmp esi, edi
jb 0x61c530
jmp 0x61b7b6
mov eax, 3
movzx ecx, byte [esp + 0x4b]
cmp ecx, 0x59
je 0x61cc72
mov eax, 0x10
mov ebx, 0xd
cmp ecx, 0x5e
jne 0x61c979
cmp eax, 0x10
jne 0x61c61b
mov byte [esp + 0x4b], 0x59
mov dword [esp], str.access
call fcn.00440120
mov dword [esp], str.error
call fcn.00440150
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 8], str.hasp.ini
mov dword [esp + 4], 0x20
call fcn.0064a2d0
mov ebx, dword [ebp + 8]
jmp 0x61cc57
movzx edx, byte [esp + 0x3f]
cmp edx, 0xd
je 0x61c72d
mov ecx, 8
mov eax, 0xc
cmp edx, 0x69
jne 0x61cb46
cmp eax, 0xc
jne 0x61ca42
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x61ca42
xor ecx, ecx
mov eax, 0x83
add eax, 0xffffff85
mov bl, byte [esp + 0x3f]
jmp 0x61c694
mov bl, al
add bl, 0x61
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
adc ecx, 0
mov dword [0x7f78b4], 1
mov byte [0x80dd30], 1
mov edx, 3
sub edx, ecx
xor edx, ecx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x61c670
mov byte [esp + 0x3f], bl
mov bl, byte [esp + 0x49]
cmp eax, 8
je 0x61be4a
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x61be4a
movzx eax, bl
cmp eax, 0x16
je 0x61bf24
mov byte [esp + 0x49], 0x16
mov byte [esp + 0x48], 0x19
mov bl, 0x2f
mov dword [esp], edi
call fcn.00407cf0
mov dword [esp], edi
call fcn.00407dd0
mov dword [esp], edi
mov dword [esp + 4], 0x400
call fcn.0044cd30
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x61c728
movzx eax, bl
cmp eax, 0x2f
je 0x61c748
mov esi, 0xa
cmp eax, 0x7c
jne 0x61c791
mov byte [edi], 0
mov ebx, dword [ebp + 8]
jmp 0x61c7a0
mov byte [esp + 0x3f], 0x43
mov dword [0x7f78b4], 1
mov byte [0x80dd30], 1
jmp 0x61be4a
xor ecx, ecx
mov esi, 0x4e
mov eax, 0x4e
xor eax, 0x46
mov edx, eax
sub edx, esi
jmp 0x61c779
mov bl, dl
xor bl, 0xc6
mov esi, ecx
not esi
and esi, 1
add esi, ecx
setne bh
movzx esi, bh
add ecx, esi
mov byte [edi], 0
mov esi, 3
sub esi, ecx
xor esi, ecx
setne bh
movzx esi, bh
cmp ecx, esi
jb 0x61c760
jmp 0x61bf91
mov ebx, dword [ebp + 8]
cmp esi, 0xa
jne 0x61b815
mov byte [edi], 0
movzx eax, byte [esp + 0x48]
cmp eax, 6
je 0x61c7fc
cmp eax, 8
je 0x61c844
mov ebx, 0xb
cmp eax, 0x19
jne 0x61c891
cmp ebx, 3
je 0x61c7d5
imul ebx, ebx
and ebx, 3
cmp ebx, 3
jne 0x61bfb0
mov eax, 3
movzx ecx, byte [esp + 0x3e]
cmp ecx, 0x1a
je 0x61c2c7
mov byte [esp + 0x3e], 0x7b
mov dword [0x7f78b4], 1
jmp 0x61be4a
mov esi, 7
mov byte [esp + 0x48], 0x57
mov byte [esp + 0x4a], 0x30
mov al, 0x15
mov dword [esp + 0x58], eax
mov byte [esp + 0x4b], 0x34
mov dword [esp], edi
call fcn.00407d80
call fcn.00407d30
mov dword [esp], eax
call fcn.004400e0
test ebx, ebx
je 0x61c943
cmp ebx, 0x928b
je 0x61bff6
jmp 0x61cc98
mov esi, 0xf
mov byte [esp + 0x48], 8
mov byte [esp + 0x4a], 0x30
mov al, 0x15
mov dword [esp + 0x58], eax
mov byte [esp + 0x4b], 0x34
mov dword [esp], edi
call fcn.00407d80
call fcn.00407d30
mov dword [esp], eax
call fcn.004400e0
test ebx, ebx
je 0x61c95b
mov eax, 3
cmp ebx, 0x928b
je 0x61bff6
jmp 0x61cc80
mov esi, 7
mov byte [esp + 0x48], 0x19
mov byte [esp + 0x4a], 0x30
mov al, 0x15
mov dword [esp + 0x58], eax
mov byte [esp + 0x4b], 0x34
mov dword [esp], edi
call fcn.00407d80
call fcn.00407d30
mov dword [esp], eax
call fcn.004400e0
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x61ca6d
mov eax, 0x16
cmp ebx, 0x928b
je 0x61bff6
cmp eax, 0xd
jne 0x61cc98
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x61cc98
mov byte [esp + 0x3d], 0x15
mov byte [esp + 0x36], 0x4b
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], str.wine_get_version
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
test eax, eax
jne 0x61ca78
mov ecx, 0xb
mov edx, eax
not edx
and edx, 1
add edx, eax
mov bl, byte [esp + 0x49]
je 0x61ca7c
cmp ecx, 0xb
je 0x61bab1
jmp 0x61be4a
cmp esi, 2
je 0x61c3c5
xor eax, eax
test al, al
je 0x61c5af
jmp 0x61c3c5
cmp esi, 2
jne 0x61c5af
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
jne 0x61cc98
jmp 0x61c5af
cmp ebx, 9
je 0x61cac5
imul ebx, ebx
and ebx, 3
cmp ebx, 2
je 0x61cace
xor esi, esi
mov ebx, 0x62
add ebx, 0xffffffad
jmp 0x61c9ea
mov al, bl
add al, 0x4f
mov byte [esp + 0x4b], al
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov dword [esp], str.access
call fcn.00440120
mov dword [esp], str.error
call fcn.00440150
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 8], str.hasp.ini
mov dword [esp + 4], 0x20
call fcn.0064a2d0
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp esi, eax
jb 0x61c9a0
mov eax, ebx
or eax, 2
mov ecx, ebx
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp ebx, eax
mov ebx, dword [ebp + 8]
jne 0x61cc57
call fcn.007c4fd0
mov esi, eax
call fcn.007c4bf0
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], str.Failed_to_initialize_wallereq__syserr__d__s__n
call fcn.00441610
call fcn.0044c0d0
mov edx, 0x16
mov dword [0x7f78b4], 1
cmp edx, 0xf
je 0x61cd81
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
jne 0x61be59
jmp 0x61cd81
mov al, 0x15
mov dword [esp + 0x58], eax
jmp 0x61c4b4
mov bl, byte [esp + 0x49]
mov byte [esp + 0x49], bl
mov ebx, 9
movzx eax, byte [esp + 0x36]
cmp eax, 0x4b
je 0x61cde0
mov edx, 9
mov byte [esp + 0x36], 0x18
mov dword [0x7f78b4], 2
cmp edx, 9
jne 0x61cd81
mov ecx, edx
or ecx, 2
xor edx, 2
add edx, ecx
jne 0x61be59
jmp 0x61cd81
mov bl, byte [esp + 0x49]
jmp 0x61bab1
mov bl, byte [esp + 0x49]
jmp 0x61bab1
cmp ecx, 5
jne 0x61b9d1
mov al, 0x5d
mov dword [esp + 0x58], eax
mov dword [esp + 0xc], ebx
mov dword [esp], edi
mov dword [esp + 8], str.access__d
mov dword [esp + 4], 0x400
call fcn.0064a2d0
mov dword [esp], edi
call fcn.00440120
mov dword [esp + 0xc], ebx
mov dword [esp], edi
mov dword [esp + 8], str.error__d
mov dword [esp + 4], 0x400
call fcn.0064a2d0
mov dword [esp], edi
call fcn.00440150
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 8], str.hasp__d.ini
jmp 0x61c08a
xor esi, esi
cmp ecx, 8
jne 0x61cbb8
mov eax, 3
sub eax, ecx
xor eax, ecx
mov ebx, dword [ebp + 8]
je 0x61cc3f
mov eax, 0xe
mov byte [esp + 0x3f], 0xd
mov dword [0x7f78b4], 1
mov byte [0x80dd30], 1
cmp eax, 7
jne 0x61be4a
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x61be4a
call fcn.007c4fd0
mov esi, eax
call fcn.007c4bf0
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], str.Cannot_init_sockets__syserr__d__s__n
call fcn.00441610
call fcn.0044c0d0
mov ebx, dword [ebp + 8]
jmp 0x61cc3f
mov ecx, 0x25
add cl, 0xf0
mov dword [esp + 0x58], ecx
cmp eax, 0xffffffff
setne al
movzx eax, al
add esi, eax
mov dword [esp + 0xc], ebx
mov dword [esp], edi
mov dword [esp + 8], str.access__d
mov dword [esp + 4], 0x400
call fcn.0064a2d0
mov dword [esp], edi
call fcn.00440120
mov dword [esp + 0xc], ebx
mov dword [esp], edi
mov dword [esp + 8], str.error__d
mov dword [esp + 4], 0x400
call fcn.0064a2d0
mov dword [esp], edi
call fcn.00440150
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 8], str.hasp__d.ini
mov dword [esp + 4], 0x20
call fcn.0064a2d0
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne cl
movzx ecx, cl
cmp esi, ecx
jb 0x61cbc0
mov eax, 8
mov cl, byte [esp + 0x4a]
movzx ecx, cl
cmp ecx, 0x30
je 0x61cc80
mov eax, 0xd
cmp ecx, 0x35
jne 0x61ccc2
cmp eax, 3
je 0x61c05e
jmp 0x61c140
cmp eax, 3
jne 0x61cd29
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x61cd29
mov ecx, 0xf
mov eax, dword [esp + 0x58]
movzx eax, al
cmp eax, 0x15
je 0x61cb46
mov ecx, 5
cmp eax, 0x5d
je 0x61cad7
xor esi, esi
jmp 0x61c121
mov byte [esp + 0x4a], 0x30
mov al, 0x3e
mov dword [esp + 0x54], eax
mov bl, 1
call fcn.00407dc0
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp], edi
mov dword [esp + 8], str._s_s
mov dword [esp + 4], 0x400
call fcn.0064a2d0
mov dword [esp], edi
call fcn.00401080
call fcn.0061dc60
mov ecx, eax
mov edx, esi
call fcn.0061cfe0
test eax, eax
je 0x61ce54
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov dword [esp + 0x50], eax
jne 0x61cd81
jmp 0x61ce58
mov byte [esp + 0x4a], 0x3e
mov bl, 1
call fcn.00407dc0
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp], edi
mov dword [esp + 8], str._s_s
mov dword [esp + 4], 0x400
call fcn.0064a2d0
mov dword [esp], edi
call fcn.00401080
call fcn.0061dc60
mov ecx, eax
mov edx, esi
call fcn.0061cfe0
mov dword [esp + 0x50], eax
test eax, eax
mov al, 0x3e
mov dword [esp + 0x54], eax
je 0x61ce58
xor esi, esi
mov eax, dword [esp + 0x54]
movzx eax, al
cmp eax, 0x1e
je 0x61ce03
cmp eax, 0x24
je 0x61c1f6
cmp eax, 0x4c
jne 0x61ce4d
mov ebx, 0xd2
add ebx, 0xffffff3a
jmp 0x61cdc5
mov al, bl
add al, 0x18
mov dword [esp + 0x54], eax
inc esi
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.00401040
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x61cdb0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x40], eax
cmp ebx, 9
je 0x61cdef
xor eax, eax
test al, al
je 0x61c20c
mov byte [esp + 0x36], 0x4b
mov dword [0x7f78b4], 2
jmp 0x61be59
mov ebx, dword [esp + 0x50]
jmp 0x61ce34
mov eax, 0x18
add al, 0x26
mov dword [esp + 0x54], eax
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
add esi, eax
mov dword [esp], ebx
call fcn.00401040
mov eax, esi
and eax, 1
inc eax
xor eax, esi
test esi, esi
je 0x61ce10
test eax, eax
je 0x61ce10
mov dword [esp + 0x40], ebx
jmp 0x61c20c
mov al, 0x4c
jmp 0x61c1f8
mov dword [esp + 0x50], eax
mov esi, 0xa
movzx eax, bl
cmp eax, 1
jne 0x61c1b8
mov bl, byte [esp + 0x49]
jmp 0x61be9d