Function at 0x427f80
Capabilities:
Accept command line arguments
Create thread
Parse pe header
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47f0b1
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x18d8
call fcn.0046bc00
mov eax, dword [0x4b5200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x1848], edi
mov eax, dword [ebx + 0xc]
lea ecx, [ebp - 0xe4]
push ecx
push eax
mov dword [ebp - 0xe4], 0
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, eax
mov dword [ebp - 0x189c], esi
mov dword [ebp - 0x17e4], esi
mov dword [ebp - 4], 0
xorps xmm0, xmm0
xor eax, eax
movq qword [ebp - 0x148], xmm0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x1898], eax
mov dword [ebp - 0x148], eax
mov byte [ebp - 0x140], 1
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
jle 0x4280b5
mov dword [ebp - 0x184c], eax
test ecx, ecx
jle 0x4280b5
nop dword [eax]
push dword [esi + eax*4]
lea ecx, [ebp - 0x148]
call fcn.00401a90
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x1898], eax
cmp eax, str._StartMonitoring
je 0x42809c
test eax, eax
je 0x428181
mov ecx, str._StartMonitoring
sub eax, ecx
mov dword [ebp - 0x1874], eax
movzx eax, word [eax + ecx]
mov dword [ebp - 0x1844], ecx
mov edx, eax
test ax, ax
jne 0x4280fa
cmp word [ecx], ax
jne 0x4280ff
or dword [edi + 4], 1
mov eax, dword [ebp - 0x184c]
inc eax
mov dword [ebp - 0x184c], eax
cmp eax, dword [ebp - 0xe4]
jl 0x428050
call fcn.00405730
test eax, eax
je 0x4280c7
push eax
call fcn.0046b303
add esp, 4
mov eax, dword [ebx + 8]
mov dword [edi + 0x3b0], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
call fcn.0040bab0
sub esp, 8
lea ecx, [edi + 0x9a0]
test eax, eax
jne 0x4283bb
push 0x25
call fcn.004019f0
jmp 0x4284b6
cmp ax, word [ecx]
je 0x42816d
mov dword [ebp - 0x1860], 0
cmp word [ebp - 0x1860], ax
jne 0x42811e
mov dword [ebp - 0x1864], 0
jmp 0x428136
push edx
call fcn.0046f530
mov ecx, dword [ebp - 0x1844]
add esp, 4
movzx eax, ax
mov dword [ebp - 0x1864], eax
movzx eax, word [ecx]
mov dword [ebp - 0x1860], 0
mov edx, eax
cmp word [ebp - 0x1860], ax
jne 0x428152
xor eax, eax
jmp 0x428164
push edx
call fcn.0046f530
mov ecx, dword [ebp - 0x1844]
add esp, 4
movzx eax, ax
cmp word [ebp - 0x1864], ax
jne 0x42817b
mov eax, dword [ebp - 0x1874]
add ecx, 2
jmp 0x428086
mov eax, dword [ebp - 0x1898]
cmp eax, str._NoUpdate
je 0x4281b3
test eax, eax
je 0x4282fb
mov ecx, str._NoUpdate
sub eax, ecx
mov dword [ebp - 0x1874], eax
movzx eax, word [eax + ecx]
mov dword [ebp - 0x1844], ecx
mov edx, eax
test ax, ax
jne 0x4281bc
cmp word [ecx], ax
jne 0x4281c1
or dword [edi + 4], 2
jmp 0x4280a0
cmp ax, word [ecx]
je 0x42822f
mov dword [ebp - 0x1860], 0
cmp word [ebp - 0x1860], ax
jne 0x4281e0
mov dword [ebp - 0x1864], 0
jmp 0x4281f8
push edx
call fcn.0046f530
mov ecx, dword [ebp - 0x1844]
add esp, 4
movzx eax, ax
mov dword [ebp - 0x1864], eax
movzx eax, word [ecx]
mov dword [ebp - 0x1860], 0
mov edx, eax
cmp word [ebp - 0x1860], ax
jne 0x428214
xor eax, eax
jmp 0x428226
push edx
call fcn.0046f530
mov ecx, dword [ebp - 0x1844]
add esp, 4
movzx eax, ax
cmp word [ebp - 0x1864], ax
jne 0x42823d
mov eax, dword [ebp - 0x1874]
add ecx, 2
jmp 0x42819d
mov eax, dword [ebp - 0x1898]
test eax, eax
je 0x4282fb
mov ecx, str._NoUpdate
sub eax, ecx
mov dword [ebp - 0x1874], eax
movzx eax, word [ecx + eax]
mov dword [ebp - 0x1844], ecx
mov edx, eax
test ax, ax
jne 0x428274
cmp word [ecx], ax
je 0x4281b3
jmp 0x428279
cmp ax, word [ecx]
je 0x4282e7
mov dword [ebp - 0x1860], 0
cmp word [ebp - 0x1860], ax
jne 0x428298
mov dword [ebp - 0x1864], 0
jmp 0x4282b0
push edx
call fcn.0046f530
mov ecx, dword [ebp - 0x1844]
add esp, 4
movzx eax, ax
mov dword [ebp - 0x1864], eax
movzx eax, word [ecx]
mov dword [ebp - 0x1860], 0
mov edx, eax
cmp word [ebp - 0x1860], ax
jne 0x4282cc
xor eax, eax
jmp 0x4282de
push edx
call fcn.0046f530
mov ecx, dword [ebp - 0x1844]
add esp, 4
movzx eax, ax
cmp word [ebp - 0x1864], ax
jne 0x4282f5
mov eax, dword [ebp - 0x1874]
add ecx, 2
jmp 0x428258
mov eax, dword [ebp - 0x1898]
cmp eax, str._Uninstall
je 0x42832d
test eax, eax
je 0x4280a0
mov ecx, str._Uninstall
sub eax, ecx
mov dword [ebp - 0x1874], eax
movzx eax, word [eax + ecx]
mov dword [ebp - 0x1844], ecx
mov edx, eax
test ax, ax
jne 0x428336
cmp word [ecx], ax
jne 0x42833b
or dword [edi + 4], 4
jmp 0x4280a0
cmp ax, word [ecx]
je 0x4283ad
mov dword [ebp - 0x1860], 0
cmp word [ebp - 0x1860], ax
jne 0x42835a
mov dword [ebp - 0x1864], 0
jmp 0x428372
push edx
call fcn.0046f530
mov ecx, dword [ebp - 0x1844]
add esp, 4
movzx eax, ax
mov dword [ebp - 0x1864], eax
movzx eax, word [ecx]
mov dword [ebp - 0x1860], 0
mov edx, eax
cmp word [ebp - 0x1860], ax
jne 0x42838e
xor eax, eax
jmp 0x4283a0
push edx
call fcn.0046f530
mov ecx, dword [ebp - 0x1844]
add esp, 4
movzx eax, ax
cmp word [ebp - 0x1864], ax
jne 0x4280a0
mov eax, dword [ebp - 0x1874]
add ecx, 2
jmp 0x428317
push 0x24
call fcn.004019f0
mov ecx, eax
mov dword [ebp - 0x1858], ecx
mov byte [ecx + 8], 0
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4283eb
mov edx, dword [ecx]
test edx, edx
je 0x4283e8
cmp word [edx], ax
je 0x4283e8
inc eax
cmp word [edx + eax*2], 0
jne 0x4283e0
mov dword [ecx + 4], eax
xor ecx, ecx
nop dword [eax]
inc ecx
cmp word [ecx*2 + str.SysNative], 0
jne 0x4283f0
add eax, ecx
mov edx, 2
mov dword [ebp - 0x1874], eax
xor ecx, ecx
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0046b90c
mov ecx, dword [ebp - 0x1858]
mov edx, eax
add esp, 4
mov dword [ebp - 0x1864], edx
mov eax, dword [ecx]
mov dword [ebp - 0x1860], eax
test eax, eax
je 0x42845b
movzx ecx, word [eax]
test cx, cx
je 0x428455
mov edi, eax
sub edi, edx
mov word [edx], cx
add edx, 2
movzx eax, word [edi + edx]
mov ecx, eax
test ax, ax
jne 0x428444
mov ecx, dword [ebp - 0x1858]
mov edi, str.SysNative
mov esi, 0x5c
sub edi, edx
nop word [eax + eax]
mov word [edx], si
lea edx, [edx + 2]
movzx eax, word [edi + edx]
mov esi, eax
test ax, ax
jne 0x428470
mov edi, dword [ebp - 0x1848]
xor eax, eax
mov word [edx], ax
mov eax, dword [ecx]
test eax, eax
je 0x4284a1
push eax
call fcn.0046b303
mov ecx, dword [ebp - 0x1858]
add esp, 4
mov eax, dword [ebp - 0x1864]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1874]
mov dword [ecx + 4], eax
mov byte [ecx + 8], 1
lea eax, [edi + 0xd0]
lea ecx, [edi + 0x418]
test eax, eax
je 0x4284da
mov dword [ecx + 0x1c0], eax
lea ecx, [edi + 0x8c0]
mov dword [edi + 0x414], eax
jmp 0x4284f2
mov dword [ecx + 0x1c0], ecx
mov dword [edi + 0x414], eax
lea eax, [edi + 0x700]
lea ecx, [eax + 0x1c0]
mov dword [ecx], eax
mov eax, dword [edi + 0x9d0]
mov ecx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x18c8], ecx
test eax, eax
je 0x428517
push eax
call ecx
mov dword [edi + 0x9d0], 0
push ecx
or edx, 0xffffffff
mov ecx, str.HKCUSoftwareClearDiskInfo
call fcn.004054e0
mov dword [edi + 0x9d0], eax
mov ecx, dword [edi + 0x994]
push 0x1002
mov dword [ebp - 0x1860], ecx
mov dword [edi + 0x998], 0
call fcn.0046b90c
lea ecx, [edi + 0x994]
xor edx, edx
mov dword [ecx], eax
add esp, 4
mov word [eax + 0x1000], dx
mov eax, dword [ecx]
mov word [eax], dx
mov eax, dword [ebp - 0x1860]
test eax, eax
je 0x42857d
push eax
call fcn.0046b303
add esp, 4
lea ecx, [edi + 0x994]
push 0x800
push dword [ecx]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [edi + 0x994]
mov dword [ebp - 0xf0], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0xf8]
push eax
movq qword [ebp - 0xf8], xmm0
call fcn.00401520
push 1
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 2
call fcn.004018b0
mov ecx, eax
mov dword [ebp - 0x1858], ecx
mov byte [ecx + 8], 0
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4285ed
mov edx, dword [ecx]
test edx, edx
je 0x4285ea
cmp word [edx], ax
je 0x4285ea
inc eax
cmp word [edx + eax*2], 0
jne 0x4285e2
mov dword [ecx + 4], eax
xor ecx, ecx
nop
inc ecx
cmp word [ecx*2 + 0x4a0a98], 0
jne 0x4285f0
add eax, ecx
mov edx, 2
mov dword [ebp - 0x1874], eax
xor ecx, ecx
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0046b90c
mov ecx, dword [ebp - 0x1858]
mov edx, eax
add esp, 4
mov dword [ebp - 0x1864], edx
mov eax, dword [ecx]
mov dword [ebp - 0x1860], eax
test eax, eax
je 0x42865b
movzx ecx, word [eax]
test cx, cx
je 0x428655
mov esi, eax
sub esi, edx
mov word [edx], cx
add edx, 2
movzx eax, word [esi + edx]
mov ecx, eax
test ax, ax
jne 0x428644
mov ecx, dword [ebp - 0x1858]
mov edi, 0x4a0a98
mov esi, 0x43
sub edi, edx
nop word [eax + eax]
mov word [edx], si
lea edx, [edx + 2]
movzx eax, word [edi + edx]
mov esi, eax
test ax, ax
jne 0x428670
mov esi, dword [ebp - 0x189c]
xor eax, eax
mov edi, dword [ebp - 0x1848]
mov word [edx], ax
mov eax, dword [ecx]
test eax, eax
je 0x4286a7
push eax
call fcn.0046b303
mov ecx, dword [ebp - 0x1858]
add esp, 4
mov eax, dword [ebp - 0x1864]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1874]
mov dword [ecx + 4], eax
mov byte [ecx + 8], 1
mov eax, dword [ebp - 0xf8]
test eax, eax
jne 0x4286e7
push 2
call fcn.0046b90c
add esp, 4
mov dword [ebp - 0xf8], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xf4], ecx
push ecx
push eax
mov ecx, edi
mov byte [ebp - 0xf0], 1
call fcn.00450e90
cmp dword [edi + 4], 4
jne 0x42870b
mov ecx, edi
call fcn.004507e0
mov edi, eax
jmp 0x42b540
mov ecx, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0xec], 0
mov eax, dword [edi + 0x9d0]
mov dword [ebp - 0x1894], ecx
mov ecx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x1880], ecx
test eax, eax
je 0x4287da
lea edx, [ebp - 0x15c]
mov dword [ebp - 0x10c], 0
push edx
lea edx, [ebp - 0xec]
mov dword [ebp - 0x15c], 4
push edx
lea edx, [ebp - 0x10c]
push edx
push 0
push str.CurrentTheme
push eax
call ecx
test eax, eax
jne 0x4287da
cmp dword [ebp - 0x10c], 4
jne 0x4287da
mov eax, dword [ebp - 0xec]
cmp eax, 1
ja 0x4287e4
test eax, eax
jne 0x428798
xor ecx, ecx
mov edx, 0xfffefc
mov esi, 0x301020
jmp 0x4287a7
mov ecx, 0xffffff
mov edx, 0x301020
mov esi, 0xc0c0c0
mov dword [edi + 0xa4], esi
mov dword [edi + 0xa8], edx
mov dword [edi + 0xac], ecx
mov dword [edi], eax
mov eax, dword [edi + 0x9d0]
test eax, eax
je 0x4287eb
push 4
push edi
push 4
push 0
push str.CurrentTheme
push eax
call dword [ebp - 0x1894]
jmp 0x4287eb
mov dword [ebp - 0xec], 0x3e8
mov ecx, edi
call fcn.00445920
push ecx
push 0
push 0xffffffffffffffff
push 0xcf0000
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x226
push 0x2ee
lea esi, [edi + 0x148]
push 0x4a0ad8
push str.CLEARDISKINFO_CLASS
mov ecx, esi
mov dword [ebp - 0x1874], esi
call fcn.0040ea00
push ecx
push 0
push ecx
mov ecx, esi
mov dword [edi + 0xc0], eax
call fcn.0040fef0
push dword [edi + 0xa4]
mov ecx, esi
call fcn.004103d0
push ecx
push 0xffffffffffffffff
push 0x52
mov dword [esi + 0x1f0], 0x9403
mov ecx, esi
mov eax, dword [edi + 0xa8]
push 0x19a
mov dword [edi + 0x370], eax
mov eax, dword [edi + 0xac]
push 2
push 2
mov dword [edi + 0x36c], eax
call fcn.00415c00
mov dword [edi + 0x1c], eax
mov dword [esi + 0x1f0], 0x1000
xor esi, esi
mov eax, dword [edi + 0x3b0]
mov dword [ebp - 0x1860], esi
mov byte [ebp - 4], 3
test eax, eax
je 0x4288b0
push esi
push 0x40
push 0x40
push 1
push 1
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov esi, eax
mov dword [ebp - 0x1860], esi
mov edi, dword [ebp - 0x1874]
sub esp, 8
mov ecx, edi
push 0x40
push 0x40
push 8
push 8
push esi
call fcn.00415380
mov dword [ebp - 0x1860], eax
mov byte [ebp - 4], 2
test esi, esi
je 0x4288e4
push esi
call dword [sym.imp.USER32.dll_DestroyIcon]
mov eax, dword [ebp - 0x1860]
mov esi, dword [ebp - 0x1848]
movsd xmm0, qword [0x4ab368]
mov dword [esi + 0x24], eax
xor eax, eax
movsd qword [edi + 0x170], xmm0
mov dword [edi + 0x178], 0x320
mov byte [edi + 0x17c], 1
mov byte [edi + 0x1be], 0
nop word [eax + eax]
inc eax
cmp word [eax*2 + str.Arial], 0
jne 0x428920
inc eax
push eax
push str.Arial
lea eax, [edi + 0x17e]
push 0x20
push eax
call fcn.0046e5a3
add esp, 0x10
lea edi, [esi + 0x148]
mov ecx, edi
call fcn.0041a8c0
test al, al
jne 0x428959
xor eax, eax
jmp 0x4289bc
mov eax, dword [edi + 0x40]
push 0
push dword [edi + 0x11c]
inc eax
push eax
push dword [edi + 0x234]
movzx eax, byte [edi + 0x248]
push 0x1c
push 0x186
push 0xe
and eax, 1
push 0x50
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4a0ad8
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x4289bc
push eax
push 0xd
mov ecx, edi
call fcn.0041a630
mov ecx, dword [edi + 0x3c]
movaps xmm0, xmmword [0x4ab6a0]
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
movsd xmm0, qword [0x4ab350]
mov dword [esi + 0x28], eax
xor eax, eax
movsd qword [esi + 0x2b8], xmm0
mov dword [esi + 0x2c0], 0x190
mov byte [esi + 0x2c4], 1
mov byte [esi + 0x306], 0
nop dword [eax]
inc eax
cmp word [eax*2 + str.Arial], 0
jne 0x4289f0
inc eax
push eax
push str.Arial
lea eax, [esi + 0x2c6]
push 0x20
push eax
call fcn.0046e5a3
mov eax, dword [esi + 0xa4]
lea edi, [esi + 0x148]
add esp, 0x10
mov dword [esi + 0x36c], eax
mov ecx, edi
call fcn.0041a8c0
test al, al
jne 0x428a35
xor eax, eax
jmp 0x428a98
mov eax, dword [edi + 0x40]
push 0
push dword [edi + 0x11c]
inc eax
push eax
push dword [edi + 0x234]
movzx eax, byte [edi + 0x248]
push 0x12
push 0xb4
push 0x32
and eax, 1
push 0x50
shl eax, 0x11
add eax, 0x50010000
push eax
push str.Powered_by__a_Carifred.com__a_.
push str.SysLink
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x428a98
push eax
push 0x1f
mov ecx, edi
call fcn.0041a630
mov ecx, dword [edi + 0x3c]
movaps xmm0, xmmword [0x4ab540]
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
sub esp, 8
mov dword [esi + 0x2c], eax
lea ecx, [esi + 0x148]
push 0x4a0b60
push 0xffffffffffffffff
call fcn.004188b0
push 0x47
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub esp, 0xc
mov dword [ebp - 0x1854], eax
mov edx, 1
mov ecx, eax
call fcn.00405d90
mov edi, eax
mov dword [ebp - 0x1860], edi
mov dword [ebp - 0x18e4], edi
mov ecx, dword [ebp - 0x1854]
sub esp, 0xc
xor edx, edx
call fcn.00405d90
mov dword [ebp - 0x1874], eax
mov dword [ebp - 0x18dc], eax
mov edx, dword [ebp - 0x1854]
push ecx
mov byte [ebp - 4], 5
push dword [esi + 0xa4]
push ecx
push edx
push ecx
mov ecx, 0x42
sub ecx, edx
push ecx
push ecx
push eax
push edi
push ecx
lea ecx, [esi + 0x148]
call fcn.00414e90
sub esp, 8
mov dword [esi + 0x30], eax
lea ecx, [esi + 0x148]
push 0x4e920c
push 0xffffffffffffffff
call fcn.004188b0
push ecx
push 0xffffffffffffffff
push 0x52
push 0x15c
push 2
push 0x190
lea ecx, [esi + 0x148]
mov dword [esi + 0x338], 0x9402
call fcn.00415c00
mov dword [esi + 0x20], eax
mov dword [esi + 0x338], 0x400
mov edx, dword [esi + 0xac]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
or eax, 0xffffff00
and edx, 0xff00
shl eax, 0x10
or ecx, eax
or ecx, edx
push ecx
sub esp, 0x10
lea ecx, [esi + 0x148]
call fcn.00414530
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0xac]
mov ecx, eax
or ecx, 0xffffff00
and eax, 0xff00
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esi + 0xae]
or ecx, eax
push ecx
sub esp, 0x10
lea ecx, [esi + 0x148]
call fcn.00414730
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0xac]
mov ecx, eax
or ecx, 0xffffff00
and eax, 0xff00
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esi + 0xae]
or ecx, eax
push ecx
push 0x18
push 0x18
push 8
push 0x141
lea ecx, [esi + 0x148]
call fcn.00414310
push 0x7f89
push 0
mov dword [esi + 0x3c], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
cmp dword [esi + 0x378], 0
mov dword [ebp - 0x184c], eax
je 0x428cbc
lea ecx, [esi + 0x148]
call fcn.0041a8c0
test al, al
je 0x428cbc
mov eax, dword [esi + 0x188]
lea ecx, [esi + 0x148]
push 0
push dword [ecx + 0x11c]
inc eax
push eax
push dword [ecx + 0x234]
movzx eax, byte [ecx + 0x248]
push 0
push 0xa
push 0xffffff38
and eax, 1
push 0x1f4
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x49fab0
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x428cbc
push eax
push 3
lea ecx, [esi + 0x148]
call fcn.0041a630
mov ecx, dword [esi + 0x184]
movaps xmm0, xmmword [0x4ab450]
mov dword [ebp - 0x1868], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x428cbe
xor eax, eax
push 0
push 0x10800080
push ecx
push 0x8c
push 0xa
push 0x49
push 0x4e92fc
lea ecx, [esi + 0x148]
mov dword [esi + 0x80], eax
call fcn.00415460
push 0xa0a0a0
push 0xffffffffffffffff
lea ecx, [esi + 0x148]
mov dword [esi + 0x84], eax
call fcn.00416f50
push 0xffffff
push 0xffffffffffffffff
lea ecx, [esi + 0x148]
call fcn.00416d40
sub esp, 8
lea ecx, [esi + 0x148]
push 0x4a0cb0
push 0xffffffffffffffff
call fcn.004188b0
movsd xmm0, qword [0x4ab348]
lea ecx, [esi + 0x148]
sub esp, 0x18
movsd qword [esp + 0x10], xmm0
push 0xffffffffffffffff
call fcn.00417180
mov ecx, dword [esi + 0x184]
mov eax, dword [esi + 0x188]
test ecx, ecx
je 0x428d67
cmp eax, 1
jl 0x428d67
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x428d67
mov eax, dword [ecx + eax*8 + 4]
jmp 0x428d69
xor eax, eax
mov dword [esi + 0xc4], eax
mov edx, dword [esi + 0xac]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
or eax, 0xffffff00
and edx, 0xff00
shl eax, 0x10
or ecx, eax
or ecx, edx
push ecx
sub esp, 0x10
lea ecx, [esi + 0x148]
call fcn.00414b70
mov dword [esi + 0x88], eax
mov ecx, dword [esi + 0x184]
mov eax, dword [esi + 0x188]
test ecx, ecx
je 0x428dcf
cmp eax, 1
jl 0x428dcf
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x428dcf
mov edx, dword [ebp - 0x184c]
mov dword [ecx + eax*8 + 0x18], edx
sub esp, 8
lea ecx, [esi + 0x148]
push 0x4e931c
push 0xffffffffffffffff
call fcn.004188b0
mov dword [esi + 0x338], 0x1400
xorps xmm0, xmm0
movq qword [ebp - 0x94], xmm0
xor ecx, ecx
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x94], 0
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
inc ecx
cmp word [ecx*2 + str._a_v], 0
jne 0x428e20
xor eax, eax
nop
inc eax
cmp word [eax*2 + 0x4a0d38], 0
jne 0x428e30
add ecx, eax
xor eax, eax
inc eax
cmp word [eax*2 + 0x4a0d2c], 0
jne 0x428e40
add ecx, eax
mov edx, 2
mov dword [ebp - 0x1868], ecx
lea eax, [ecx + 1]
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0046b90c
mov edx, dword [ebp - 0x94]
add esp, 4
mov dword [ebp - 0x1864], eax
mov ecx, eax
test edx, edx
je 0x428ea1
movzx eax, word [edx]
test ax, ax
je 0x428ea1
nop word [eax + eax]
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x428e90
mov esi, str._a_v
mov edx, 0x3c
sub esi, ecx
nop dword [eax]
mov word [ecx], dx
add ecx, 2
movzx eax, word [ecx + esi]
mov edx, eax
test ax, ax
jne 0x428eb0
mov eax, 0x34
mov edi, 0x4a0d38
nop dword [eax + eax]
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
add ecx, 2
test ax, ax
jne 0x428ed0
mov edi, dword [ebp - 0x1860]
mov eax, 0x3c
mov esi, 0x4a0d2c
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
lea ecx, [ecx + 2]
test ax, ax
jne 0x428ef1
mov esi, dword [ebp - 0x1848]
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x428f20
push eax
call fcn.0046b303
add esp, 4
mov eax, dword [ebp - 0x1864]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x1868]
mov dword [ebp - 0x90], eax
mov byte [ebp - 4], 6
lea ecx, [esi + 0x148]
mov byte [ebp - 0x8c], 1
call fcn.0041a8c0
test al, al
jne 0x428f56
xor eax, eax
jmp 0x428fc7
mov eax, dword [esi + 0x188]
push 0
push dword [esi + 0x264]
inc eax
push eax
push dword [esi + 0x37c]
movzx eax, byte [esi + 0x390]
push 0x12
push 0x46
push 0x32
and eax, 1
push 0xa
shl eax, 0x11
add eax, 0x50010020
push eax
push dword [ebp - 0x1864]
push str.SysLink
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x428fc7
push eax
push 0x1f
lea ecx, [esi + 0x148]
call fcn.0041a630
mov ecx, dword [esi + 0x184]
movaps xmm0, xmmword [0x4ab4e0]
mov dword [ebp - 0x1868], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
sub esp, 8
mov dword [esi + 0x40], eax
lea ecx, [esi + 0x148]
push 0x4e9348
push 0xffffffffffffffff
call fcn.004188b0
lea ecx, [esi + 0x148]
call fcn.0041a8c0
test al, al
jne 0x428ff2
xor eax, eax
jmp 0x429062
mov eax, dword [esi + 0x188]
push 0
push dword [esi + 0x264]
inc eax
push eax
push dword [esi + 0x37c]
movzx eax, byte [esi + 0x390]
push 0x12
push 0x5a
push 0x32
and eax, 1
push 0x78
shl eax, 0x11
add eax, 0x50010000
push eax
push str._a___a_
push str.SysLink
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x429062
push eax
push 0x1f
lea ecx, [esi + 0x148]
call fcn.0041a630
mov ecx, dword [esi + 0x184]
movaps xmm0, xmmword [0x4ab520]
mov dword [ebp - 0x1868], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
sub esp, 8
mov dword [esi + 0x44], eax
lea ecx, [esi + 0x148]
push 0x4e93cc
push 0xffffffffffffffff
call fcn.004188b0
lea ecx, [esi + 0x148]
call fcn.0041a8c0
test al, al
jne 0x42908d
xor eax, eax
jmp 0x429100
mov eax, dword [esi + 0x188]
push 0
push dword [esi + 0x264]
inc eax
push eax
push dword [esi + 0x37c]
movzx eax, byte [esi + 0x390]
push 0x12
push 0x41
push 0x32
and eax, 1
push 0xeb
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4a0e48
push str.SysLink
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x429100
push eax
push 0x1f
lea ecx, [esi + 0x148]
call fcn.0041a630
mov ecx, dword [esi + 0x184]
movaps xmm0, xmmword [0x4ab4d0]
mov dword [ebp - 0x1868], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
sub esp, 8
mov dword [esi + 0x48], eax
lea ecx, [esi + 0x148]
push 0x4e941c
push 0xffffffffffffffff
call fcn.004188b0
mov dword [esi + 0x338], 0x400
mov edx, dword [esi + 0xac]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
or eax, 0xffffff00
and edx, 0xff00
shl eax, 0x10
or ecx, eax
or ecx, edx
push ecx
sub esp, 0x10
lea ecx, [esi + 0x148]
call fcn.00414930
sub esp, 8
mov dword [esi + 0x4c], eax
lea ecx, [esi + 0x148]
push 0x4e9470
push 0xffffffffffffffff
call fcn.004188b0
mov ecx, dword [esi + 0x184]
mov eax, dword [esi + 0x188]
test ecx, ecx
je 0x429194
cmp eax, 1
jl 0x429194
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x429194
mov edx, dword [ebp - 0x184c]
mov dword [ecx + eax*8 + 0x18], edx
xor eax, eax
mov dword [ebp - 0x17a0], 3
push 0x5e
push eax
mov word [ebp - 0x1790], ax
lea eax, [ebp - 0x178e]
push eax
mov dword [ebp - 0x179c], 0
mov dword [ebp - 0x1798], 0x10
mov dword [ebp - 0x1794], 0x10
call fcn.0046ce00
add esp, 0xc
xor eax, eax
mov word [ebp - 0x1730], ax
push 0x1046
push eax
lea eax, [ebp - 0x172e]
push eax
call fcn.0046ce00
mov ecx, dword [esi + 0x2c]
add esp, 0xc
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x188c], eax
cmp ecx, 0xffffffff
jne 0x429210
mov ecx, dword [esi + 0x188]
jmp 0x429231
mov edx, dword [esi + 0x184]
test edx, edx
je 0x429252
cmp ecx, 1
jl 0x429252
cmp ecx, dword [esi + 0x188]
jg 0x429252
lea eax, [ecx + ecx*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x429252
lea eax, [ebp - 0x17a0]
push eax
mov eax, dword [esi + 0x184]
lea ecx, [ecx + ecx*8]
push 0
push 0x702
push dword [eax + ecx*8 + 4]
call dword [ebp - 0x188c]
mov ecx, dword [esi + 0x40]
cmp ecx, 0xffffffff
jne 0x429262
mov ecx, dword [esi + 0x188]
jmp 0x429283
mov edx, dword [esi + 0x184]
test edx, edx
je 0x4292a4
cmp ecx, 1
jl 0x4292a4
cmp ecx, dword [esi + 0x188]
jg 0x4292a4
lea eax, [ecx + ecx*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x4292a4
lea eax, [ebp - 0x17a0]
push eax
mov eax, dword [esi + 0x184]
lea ecx, [ecx + ecx*8]
push 0
push 0x702
push dword [eax + ecx*8 + 4]
call dword [ebp - 0x188c]
mov ecx, dword [esi + 0x44]
cmp ecx, 0xffffffff
jne 0x4292b4
mov ecx, dword [esi + 0x188]
jmp 0x4292d5
mov edx, dword [esi + 0x184]
test edx, edx
je 0x4292f6
cmp ecx, 1
jl 0x4292f6
cmp ecx, dword [esi + 0x188]
jg 0x4292f6
lea eax, [ecx + ecx*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x4292f6
lea eax, [ebp - 0x17a0]
push eax
mov eax, dword [esi + 0x184]
lea ecx, [ecx + ecx*8]
push 0
push 0x702
push dword [eax + ecx*8 + 4]
call dword [ebp - 0x188c]
mov ecx, dword [esi + 0x48]
cmp ecx, 0xffffffff
jne 0x429306
mov ecx, dword [esi + 0x188]
jmp 0x429327
mov edx, dword [esi + 0x184]
test edx, edx
je 0x429348
cmp ecx, 1
jl 0x429348
cmp ecx, dword [esi + 0x188]
jg 0x429348
lea eax, [ecx + ecx*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x429348
lea eax, [ebp - 0x17a0]
push eax
mov eax, dword [esi + 0x184]
lea ecx, [ecx + ecx*8]
push 0
push 0x702
push dword [eax + ecx*8 + 4]
call dword [ebp - 0x188c]
movsd xmm0, qword [0x4ab330]
xor eax, eax
comisd xmm0, xmmword [esi + 0xb8]
mov dword [ebp - 0x1850], eax
jbe 0x429375
push 4
call dword [sym.imp.USER32.dll_GetSysColor]
or eax, 0xff000000
mov dword [ebp - 0x1850], eax
push eax
mov eax, dword [ebp - 0x1854]
push eax
push eax
push ecx
push 0x6d
push dword [esi + 0x3b0]
call fcn.0041afb0
mov esi, eax
mov dword [ebp - 0x17a4], esi
mov dword [ebp - 0x17d0], 0
test esi, esi
je 0x4293bb
push 0
lea eax, [ebp - 0x17d0]
push eax
push dword [esi + 4]
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
test eax, eax
je 0x4293bb
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x1848]
mov byte [ebp - 4], 8
push dword [ebp - 0x17d0]
push 0x4e94d8
push dword [eax + 0x4c]
lea ecx, [eax + 0x148]
call fcn.00414d90
mov ecx, dword [ebp - 0x1848]
push dword [ebp - 0x1850]
mov dword [ecx + 0x78], eax
mov eax, dword [ebp - 0x1854]
push eax
push eax
push ecx
push 0x6e
push dword [ecx + 0x3b0]
call fcn.0041afb0
mov dword [ebp - 0x1844], eax
test esi, esi
je 0x42941d
mov edx, dword [esi]
mov ecx, esi
push 1
mov edx, dword [edx]
call edx
mov eax, dword [ebp - 0x1844]
mov dword [ebp - 0x17a4], eax
mov dword [ebp - 0x17cc], 0
test eax, eax
je 0x429452
push 0
lea ecx, [ebp - 0x17cc]
push ecx
push dword [eax + 4]
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
mov ecx, eax
test ecx, ecx
je 0x429452
mov eax, dword [ebp - 0x1844]
mov dword [eax + 8], ecx
mov esi, dword [ebp - 0x1848]
push 0
mov byte [ebp - 4], 9
push dword [ebp - 0x17cc]
lea ecx, [esi + 0x148]
push 0
push 0x32
push 0x4e9514
push dword [esi + 0x4c]
call fcn.00415790
push 0
push 0
push 8
push 0x32
push 0
mov dword [esi + 0x5c], eax
lea ecx, [esi + 0x148]
push dword [esi + 0x4c]
call fcn.00415790
mov esi, dword [ebp - 0x1874]
mov eax, dword [ebp - 0x1848]
push edi
push esi
push 1
push 0
push 0x4e9554
push dword [eax + 0x4c]
lea ecx, [eax + 0x148]
call fcn.00415790
push edi
push esi
push 1
mov dword [ebp - 0x18a0], eax
mov eax, dword [ebp - 0x1848]
push 0x32
push 0x4e9594
push dword [eax + 0x4c]
lea ecx, [eax + 0x148]
call fcn.00415790
push dword [ebp - 0x1850]
mov dword [ebp - 0x18a4], eax
mov eax, dword [ebp - 0x1854]
push eax
push eax
push ecx
mov ecx, dword [ebp - 0x1848]
push 0x6f
push dword [ecx + 0x3b0]
call fcn.0041afb0
mov ecx, eax
mov eax, dword [ebp - 0x1844]
mov dword [ebp - 0x1858], ecx
test eax, eax
je 0x42952a
mov edx, dword [eax]
mov ecx, eax
push 1
mov edx, dword [edx]
call edx
mov ecx, dword [ebp - 0x1858]
mov dword [ebp - 0x17a4], ecx
mov dword [ebp - 0x17c8], 0
test ecx, ecx
je 0x42955f
push 0
lea eax, [ebp - 0x17c8]
push eax
push dword [ecx + 4]
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
mov ecx, eax
test ecx, ecx
je 0x42955f
mov eax, dword [ebp - 0x1858]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1848]
push 0
mov byte [ebp - 4], 0xa
push dword [ebp - 0x17c8]
lea ecx, [eax + 0x148]
push 0
push 0x32
push 0x4a0fc0
push dword [eax + 0x4c]
call fcn.00415790
push 0
push 0
push 8
mov dword [ebp - 0x18b0], eax
mov eax, dword [ebp - 0x1848]
push 0x32
push 0
push dword [eax + 0x4c]
lea ecx, [eax + 0x148]
call fcn.00415790
push dword [ebp - 0x1850]
mov eax, dword [ebp - 0x1854]
push eax
push eax
push ecx
mov ecx, dword [ebp - 0x1848]
push 0x80
push dword [ecx + 0x3b0]
call fcn.0041afb0
mov ecx, dword [ebp - 0x1858]
mov dword [ebp - 0x1844], eax
test ecx, ecx
je 0x4295ef
mov edx, dword [ecx]
push 1
mov edx, dword [edx]
call edx
mov eax, dword [ebp - 0x1844]
mov dword [ebp - 0x17a4], eax
mov dword [ebp - 0x17c4], 0
test eax, eax
je 0x429624
push 0
lea ecx, [ebp - 0x17c4]
push ecx
push dword [eax + 4]
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
mov ecx, eax
test ecx, ecx
je 0x429624
mov eax, dword [ebp - 0x1844]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1848]
push 0
mov byte [ebp - 4], 0xb
push dword [ebp - 0x17c4]
lea ecx, [eax + 0x148]
push 0
push 0x32
push 0x4e95b4
push dword [eax + 0x4c]
call fcn.00415790
mov ecx, dword [ebp - 0x1848]
push dword [ebp - 0x1850]
mov dword [ecx + 0x74], eax
mov eax, dword [ebp - 0x1854]
push eax
push eax
push ecx
push 0x70
push dword [ecx + 0x3b0]
call fcn.0041afb0
mov ecx, dword [ebp - 0x1844]
mov dword [ebp - 0x1858], eax
test ecx, ecx
je 0x429690
mov edx, dword [ecx]
push 1
mov edx, dword [edx]
call edx
mov eax, dword [ebp - 0x1858]
mov dword [ebp - 0x17a4], eax
mov dword [ebp - 0x17c0], 0
test eax, eax
je 0x4296c5
push 0
lea ecx, [ebp - 0x17c0]
push ecx
push dword [eax + 4]
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
mov ecx, eax
test ecx, ecx
je 0x4296c5
mov eax, dword [ebp - 0x1858]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1848]
push 0
mov byte [ebp - 4], 0xc
push dword [ebp - 0x17c0]
lea ecx, [eax + 0x148]
push 0
push 0x32
push 0x4a1030
push dword [eax + 0x4c]
call fcn.00415790
mov ecx, dword [ebp - 0x1848]
push dword [ebp - 0x1850]
mov dword [ecx + 0x60], eax
mov eax, dword [ebp - 0x1854]
push eax
push eax
push ecx
push 0x73
push dword [ecx + 0x3b0]
call fcn.0041afb0
mov ecx, eax
mov eax, dword [ebp - 0x1858]
mov dword [ebp - 0x1844], ecx
test eax, eax
je 0x429735
mov edx, dword [eax]
mov ecx, eax
push 1
mov edx, dword [edx]
call edx
mov ecx, dword [ebp - 0x1844]
mov dword [ebp - 0x17a4], ecx
mov dword [ebp - 0x17bc], 0
test ecx, ecx
je 0x42976a
push 0
lea eax, [ebp - 0x17bc]
push eax
push dword [ecx + 4]
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
mov ecx, eax
test ecx, ecx
je 0x42976a
mov eax, dword [ebp - 0x1844]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1848]
push 0
mov byte [ebp - 4], 0xd
push dword [ebp - 0x17bc]
lea ecx, [eax + 0x148]
push 0
push 0x32
push 0x4e95f8
push dword [eax + 0x4c]
call fcn.00415790
mov ecx, dword [ebp - 0x1848]
push dword [ebp - 0x1850]
mov dword [ecx + 0x64], eax
mov eax, dword [ebp - 0x1854]
push eax
push eax
push ecx
push 0x71
push dword [ecx + 0x3b0]
call fcn.0041afb0
mov ecx, eax
mov eax, dword [ebp - 0x1844]
mov dword [ebp - 0x1858], ecx
test eax, eax
je 0x4297da
mov edx, dword [eax]
mov ecx, eax
push 1
mov edx, dword [edx]
call edx
mov ecx, dword [ebp - 0x1858]
mov dword [ebp - 0x17a4], ecx
mov dword [ebp - 0x17b8], 0
test ecx, ecx
je 0x42980f
push 0
lea eax, [ebp - 0x17b8]
push eax
push dword [ecx + 4]
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
mov ecx, eax
test ecx, ecx
je 0x42980f
mov eax, dword [ebp - 0x1858]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1848]
push 0
mov byte [ebp - 4], 0xe
push dword [ebp - 0x17b8]
lea ecx, [eax + 0x148]
push 0
push 0x32
push 0x4a10bc
push dword [eax + 0x4c]
call fcn.00415790
mov ecx, dword [ebp - 0x1848]
push dword [ebp - 0x1850]
mov dword [ecx + 0x68], eax
mov eax, dword [ebp - 0x1854]
push eax
push eax
push ecx
push 0x75
push dword [ecx + 0x3b0]
call fcn.0041afb0
mov ecx, eax
mov eax, dword [ebp - 0x1858]
mov dword [ebp - 0x1844], ecx
test eax, eax
je 0x42987f
mov edx, dword [eax]
mov ecx, eax
push 1
mov edx, dword [edx]
call edx
mov ecx, dword [ebp - 0x1844]
mov dword [ebp - 0x17a4], ecx
mov dword [ebp - 0x17b4], 0
test ecx, ecx
je 0x4298b4
push 0
lea eax, [ebp - 0x17b4]
push eax
push dword [ecx + 4]
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
mov ecx, eax
test ecx, ecx
je 0x4298b4
mov eax, dword [ebp - 0x1844]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1848]
push 0
mov byte [ebp - 4], 0xf
push dword [ebp - 0x17b4]
lea ecx, [eax + 0x148]
push 0
push 0x32
push 0x4e9640
push dword [eax + 0x4c]
call fcn.00415790
mov ecx, dword [ebp - 0x1848]
push edi
push esi
push 1
push 0x32
mov dword [ecx + 0x9c], eax
push 0x4e9670
push dword [ecx + 0x78]
add ecx, 0x148
call fcn.00415790
mov ecx, dword [ebp - 0x1848]
push 0
push 0
push 8
push 0x32
mov dword [ecx + 0x50], eax
push 0
push dword [ecx + 0x4c]
add ecx, 0x148
call fcn.00415790
push dword [ebp - 0x1850]
mov eax, dword [ebp - 0x1854]
push eax
push eax
push ecx
mov ecx, dword [ebp - 0x1848]
push 0x81
push dword [ecx + 0x3b0]
call fcn.0041afb0
mov ecx, eax
mov eax, dword [ebp - 0x1844]
mov dword [ebp - 0x1858], ecx
test eax, eax
je 0x42996a
mov edx, dword [eax]
mov ecx, eax
push 1
mov edx, dword [edx]
call edx
mov ecx, dword [ebp - 0x1858]
mov dword [ebp - 0x17a4], ecx
mov dword [ebp - 0x17d4], 0
test ecx, ecx
je 0x42999f
push 0
lea eax, [ebp - 0x17d4]
push eax
push dword [ecx + 4]
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
mov ecx, eax
test ecx, ecx
je 0x42999f
mov eax, dword [ebp - 0x1858]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1848]
push 0
mov byte [ebp - 4], 0x10
push dword [ebp - 0x17d4]
lea ecx, [eax + 0x148]
push 0
push 0x32
push 0x4e96c8
push dword [eax + 0x4c]
call fcn.00415790
mov ecx, dword [ebp - 0x1848]
push dword [ebp - 0x1850]
mov dword [ecx + 0x6c], eax
mov eax, dword [ebp - 0x1854]
push eax
push eax
push ecx
push 0x82
push dword [ecx + 0x3b0]
call fcn.0041afb0
mov ecx, dword [ebp - 0x1858]
mov dword [ebp - 0x1844], eax
test ecx, ecx
je 0x429a0e
mov edx, dword [ecx]
push 1
mov edx, dword [edx]
call edx
mov eax, dword [ebp - 0x1844]
mov dword [ebp - 0x17a4], eax
mov dword [ebp - 0x17b0], 0
test eax, eax
je 0x429a43
push 0
lea ecx, [ebp - 0x17b0]
push ecx
push dword [eax + 4]
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
mov ecx, eax
test ecx, ecx
je 0x429a43
mov eax, dword [ebp - 0x1844]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1848]
push 0
mov byte [ebp - 4], 0x11
push dword [ebp - 0x17b0]
lea ecx, [eax + 0x148]
push 0
push 0x32
push 0x4e971c
push dword [eax + 0x4c]
call fcn.00415790
mov ecx, dword [ebp - 0x1848]
push 0
push 0
push 8
push 0x32
mov dword [ecx + 0x70], eax
push 0
push dword [ecx + 0x4c]
add ecx, 0x148
call fcn.00415790
push dword [ebp - 0x1850]
mov eax, dword [ebp - 0x1854]
push eax
push eax
push ecx
mov ecx, dword [ebp - 0x1848]
push 0x74
push dword [ecx + 0x3b0]
call fcn.0041afb0
mov ecx, eax
mov eax, dword [ebp - 0x1844]
mov dword [ebp - 0x1858], ecx
test eax, eax
je 0x429ad1
mov edx, dword [eax]
mov ecx, eax
push 1
mov edx, dword [edx]
call edx
mov ecx, dword [ebp - 0x1858]
mov dword [ebp - 0x17a4], ecx
mov dword [ebp - 0x17ac], 0
test ecx, ecx
je 0x429b06
push 0
lea eax, [ebp - 0x17ac]
push eax
push dword [ecx + 4]
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
mov ecx, eax
test ecx, ecx
je 0x429b06
mov eax, dword [ebp - 0x1858]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1848]
push 0
mov byte [ebp - 4], 0x12
push dword [ebp - 0x17ac]
lea ecx, [eax + 0x148]
push 0
push 0x32
push 0x4e9770
push dword [eax + 0x4c]
call fcn.00415790
push 0
push 0
push 8
mov dword [ebp - 0x18c4], eax
mov eax, dword [ebp - 0x1848]
push 0x32
push 0
push dword [eax + 0x4c]
lea ecx, [eax + 0x148]
call fcn.00415790
push edi
push esi
mov esi, dword [ebp - 0x1848]
push 1
push 0x32
push 0x4e97b8
push dword [esi + 0x4c]
lea ecx, [esi + 0x148]
call fcn.00415790
cmp dword [esi], 0
mov dword [ebp - 0x18ac], eax
je 0x429b8b
push 8
push eax
lea ecx, [esi + 0x148]
call fcn.00417af0
mov eax, dword [ebp - 0x1854]
push 0
push eax
push eax
push 1
push 1
push dword [esi + 0x3b0]
call dword [sym.imp.USER32.dll_LoadImageW]
push 0
xor edx, edx
mov dword [ebp - 0x1868], eax
mov ecx, eax
call fcn.00406660
mov edi, eax
mov dword [ebp - 0x1870], edi
mov dword [ebp - 0x18e0], edi
mov eax, dword [ebp - 0x1868]
mov byte [ebp - 4], 0x13
test eax, eax
je 0x429bd9
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
push 0
push edi
push 0
push 0x32
push 0x4e97ec
push dword [esi + 0x4c]
lea ecx, [esi + 0x148]
call fcn.00415790
push dword [ebp - 0x1850]
mov dword [ebp - 0x18b4], eax
mov eax, dword [ebp - 0x1854]
push eax
push eax
push ecx
push 0x7b
push dword [esi + 0x3b0]
call fcn.0041afb0
mov ecx, dword [ebp - 0x1858]
mov esi, eax
test ecx, ecx
je 0x429c29
mov eax, dword [ecx]
push 1
mov eax, dword [eax]
call eax
mov dword [ebp - 0x17a4], esi
mov dword [ebp - 0x17dc], 0
test esi, esi
je 0x429c56
push 0
lea eax, [ebp - 0x17dc]
push eax
push dword [esi + 4]
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
test eax, eax
je 0x429c56
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x1848]
push 0
mov byte [ebp - 4], 0x14
push dword [ebp - 0x17dc]
lea ecx, [eax + 0x148]
push 0
push 0x32
push 0x4e9828
push dword [eax + 0x4c]
call fcn.00415790
mov dword [ebp - 0x18b8], eax
mov dword [ebp - 0x1884], 0xffffffff
mov dword [ebp - 0x17a8], 0
mov ecx, dword [ebp - 0x1848]
push 0
mov byte [ebp - 4], 0x15
call fcn.0044f9a0
test eax, eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [ebp - 0x1890], eax
je 0x429d74
push dword [ebp - 0x1850]
mov eax, dword [ebp - 0x1854]
push eax
push eax
mov eax, dword [ebp - 0x1848]
push ecx
push 0x7f
push dword [eax + 0x3b0]
call fcn.0041afb0
mov ecx, eax
mov dword [ebp - 0x1844], ecx
test esi, esi
je 0x429cfb
mov edx, dword [esi]
mov ecx, esi
push 1
mov edx, dword [edx]
call edx
mov ecx, dword [ebp - 0x1844]
mov eax, dword [ebp - 0x17a8]
mov esi, ecx
mov dword [ebp - 0x17a4], esi
test eax, eax
je 0x429d1a
push eax
call dword [ebp - 0x1890]
mov ecx, dword [ebp - 0x1844]
mov dword [ebp - 0x17a8], 0
test ecx, ecx
je 0x429d49
push 0
lea eax, [ebp - 0x17a8]
push eax
push dword [ecx + 4]
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
mov ecx, eax
test ecx, ecx
je 0x429d49
mov eax, dword [ebp - 0x1844]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1848]
push 0
push dword [ebp - 0x17a8]
push 0
push 0x32
push 0x4e9860
push dword [eax + 0x4c]
lea ecx, [eax + 0x148]
call fcn.00415790
mov dword [ebp - 0x1884], eax
mov eax, dword [ebp - 0x1848]
push 0
push 0x16
push 0x16
mov ecx, dword [eax + 0x378]
mov dword [eax + 0x37c], ecx
mov dword [eax + 0x33c], 0
mov ecx, dword [eax + 0xa4]
push ecx
push 0x66
mov dword [eax + 0x36c], ecx
push dword [eax + 0x3b0]
call fcn.0041afb0
mov dword [ebp - 0x1858], eax
test esi, esi
je 0x429dca
mov edx, dword [esi]
mov ecx, esi
push 1
mov edx, dword [edx]
call edx
mov eax, dword [ebp - 0x1858]
mov esi, dword [ebp - 0x1848]
mov dword [ebp - 0x17a4], eax
lea eax, [esi + 0x268]
push eax
push dword [esi + 0x37c]
call dword [sym.imp.USER32.dll_GetClientRect]
test eax, eax
jne 0x429df4
xor ecx, ecx
jmp 0x429ec7
mov eax, dword [esi + 0x274]
sub esp, 8
mov ecx, dword [esi + 0x270]
sub eax, 0x16
sub ecx, 0x16
push 0x16
push 0x16
push eax
push ecx
push dword [ebp - 0x1858]
lea ecx, [esi + 0x148]
call fcn.004159a0
mov ecx, eax
mov dword [ebp - 0x185c], ecx
cmp ecx, 1
jl 0x429ec7
mov eax, dword [esi + 0x338]
and eax, 0xc00
or eax, 0x22
push eax
push ecx
lea ecx, [esi + 0x148]
call fcn.00417900
mov eax, dword [ebp - 0x185c]
push 0x7f82
push 0
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x184]
mov dword [eax + ecx*8], 0x27
call dword [sym.imp.USER32.dll_LoadCursorW]
mov edx, dword [esi + 0x184]
lea ecx, [esi + 0x148]
mov dword [ebp - 0x1868], eax
mov eax, dword [ebp - 0x185c]
test edx, edx
je 0x429eb9
cmp eax, dword [ecx + 0x40]
jg 0x429eb9
lea edi, [eax + eax*8]
cmp dword [edx + edi*8 + 0xc], 0
mov edi, dword [ebp - 0x1870]
je 0x429eb9
mov esi, dword [ebp - 0x1868]
lea edi, [eax + eax*8]
mov dword [edx + edi*8 + 0x18], esi
mov edi, dword [ebp - 0x1870]
mov esi, dword [ebp - 0x1848]
push 0xffffffffffffffff
push eax
call fcn.00416d40
mov ecx, dword [ebp - 0x185c]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x1cf
push 0x147
push 0x55
push 2
mov dword [esi + 0x58], ecx
lea ecx, [esi + 0x148]
push 0x4a01b0
push 0x4a130c
mov dword [esi + 0x338], 0x430
call fcn.00415520
mov dword [esi + 0x90], eax
test eax, eax
jne 0x429f0d
mov eax, dword [esi + 0x378]
jmp 0x429f41
cmp eax, 0xffffffff
jne 0x429f18
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x184]
test ecx, ecx
je 0x429f3f
cmp eax, 1
jl 0x429f3f
cmp eax, dword [esi + 0x188]
jg 0x429f3f
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x429f3f
mov eax, dword [ecx + eax*8 + 4]
jmp 0x429f41
xor eax, eax
push 0
push 4
push 0x108e
push eax
mov dword [esi + 0xc8], eax
call dword [ebp - 0x188c]
movaps xmm0, xmmword [0x4ab440]
lea eax, [ebp - 0x1f4]
push eax
push 0
push 0x10a2
mov dword [ebp - 0x1f4], 0x28
mov dword [ebp - 0x1f0], 7
mov dword [ebp - 0x1ec], 3
movups xmmword [ebp - 0x1e8], xmm0
mov dword [ebp - 0x1d8], 1
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 1
push dword [esi + 0xc8]
call dword [ebp - 0x188c]
push 0
push 0x14
push 0x14
push ecx
push 0x76
push dword [esi + 0x3b0]
call fcn.0041afb0
mov ecx, dword [esi + 0x3c4]
mov dword [ebp - 0x1868], eax
test ecx, ecx
je 0x429fed
mov eax, dword [ecx]
push 1
mov eax, dword [eax]
call eax
mov eax, dword [ebp - 0x1868]
push 0
push 0x14
push 0x14
push ecx
push 0x6a
mov dword [esi + 0x3c4], eax
push dword [esi + 0x3b0]
call fcn.0041afb0
mov ecx, dword [esi + 0x3c8]
mov dword [ebp - 0x1868], eax
test ecx, ecx
je 0x42a025
mov eax, dword [ecx]
push 1
mov eax, dword [eax]
call eax
mov eax, dword [ebp - 0x1868]
push 0
push 0x14
push 0x14
push ecx
push 0x6c
mov dword [esi + 0x3c8], eax
push dword [esi + 0x3b0]
call fcn.0041afb0
mov ecx, dword [esi + 0x3d0]
mov dword [ebp - 0x1868], eax
test ecx, ecx
je 0x42a05d
mov eax, dword [ecx]
push 1
mov eax, dword [eax]
call eax
mov eax, dword [ebp - 0x1868]
push 0
push 0x14
push 0x14
push ecx
push 0x6b
mov dword [esi + 0x3d0], eax
push dword [esi + 0x3b0]
call fcn.0041afb0
mov ecx, dword [esi + 0x3cc]
mov dword [ebp - 0x1868], eax
test ecx, ecx
je 0x42a095
mov eax, dword [ecx]
push 1
mov eax, dword [eax]
call eax
mov eax, dword [ebp - 0x1868]
push ecx
mov ecx, esi
mov dword [esi + 0x3cc], eax
call fcn.0042fb70
push 1
push 0xffffffffffffffff
push eax
mov ecx, esi
mov dword [esi + 0x98], eax
call fcn.0042f850
push ecx
push 0xffffffffffffffff
push 0x17
push 0x1a2
push 0x20d
push 0x14a
lea ecx, [esi + 0x148]
mov dword [esi + 0x338], 0x423
call fcn.00415c00
lea ecx, [esi + 0x148]
mov dword [esi + 0x338], 0
call fcn.0041a8c0
test al, al
je 0x42a161
mov eax, dword [esi + 0x188]
push 0
push dword [esi + 0x264]
inc eax
push eax
push dword [esi + 0x37c]
movzx eax, byte [esi + 0x390]
push 0x10
push 0x10
push 4
and eax, 1
push 5
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x49fab0
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x42a161
push eax
push 0xd
lea ecx, [esi + 0x148]
call fcn.0041a630
movaps xmm0, xmmword [0x4ab470]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x184]
movups xmmword [eax + ecx*8 + 0x24], xmm0
push 0x60c060
push 0xffffffffffffffff
lea ecx, [esi + 0x148]
call fcn.00416d40
lea ecx, [esi + 0x148]
call fcn.0041a8c0
test al, al
je 0x42a1ec
mov eax, dword [esi + 0x188]
push 0
push dword [esi + 0x264]
inc eax
push eax
push dword [esi + 0x37c]
movzx eax, byte [esi + 0x390]
push 0x12
push 0x32
push 4
and eax, 1
push 0x19
shl eax, 0x11
add eax, 0x50000100
push eax
push str._OK
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x42a1ec
push eax
push 0xd
lea ecx, [esi + 0x148]
call fcn.0041a630
movaps xmm0, xmmword [0x4ab4b0]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x184]
movups xmmword [eax + ecx*8 + 0x24], xmm0
lea ecx, [esi + 0x148]
call fcn.0041a8c0
test al, al
je 0x42a265
mov eax, dword [esi + 0x188]
push 0
push dword [esi + 0x264]
inc eax
push eax
push dword [esi + 0x37c]
movzx eax, byte [esi + 0x390]
push 0x10
push 0x10
push 4
and eax, 1
push 0x50
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x49fab0
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x42a265
push eax
push 0xd
lea ecx, [esi + 0x148]
call fcn.0041a630
movaps xmm0, xmmword [0x4ab480]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x184]
movups xmmword [eax + ecx*8 + 0x24], xmm0
push 0xe0f0
push 0xffffffffffffffff
lea ecx, [esi + 0x148]
call fcn.00416d40
lea ecx, [esi + 0x148]
call fcn.0041a8c0
test al, al
je 0x42a2f0
mov eax, dword [esi + 0x188]
push 0
push dword [esi + 0x264]
inc eax
push eax
push dword [esi + 0x37c]
movzx eax, byte [esi + 0x390]
push 0x12
push 0x50
push 4
and eax, 1
push 0x64
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4a1334
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x42a2f0
push eax
push 0xd
lea ecx, [esi + 0x148]
call fcn.0041a630
movaps xmm0, xmmword [0x4ab4f0]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x184]
movups xmmword [eax + ecx*8 + 0x24], xmm0
lea ecx, [esi + 0x148]
call fcn.0041a8c0
test al, al
je 0x42a36c
mov eax, dword [esi + 0x188]
push 0
push dword [esi + 0x264]
inc eax
push eax
push dword [esi + 0x37c]
movzx eax, byte [esi + 0x390]
push 0x10
push 0x10
push 4
and eax, 1
push 0xb9
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x49fab0
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x42a36c
push eax
push 0xd
lea ecx, [esi + 0x148]
call fcn.0041a630
movaps xmm0, xmmword [0x4ab490]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x184]
movups xmmword [eax + ecx*8 + 0x24], xmm0
push 0x30c0ff
push 0xffffffffffffffff
lea ecx, [esi + 0x148]
call fcn.00416d40
lea ecx, [esi + 0x148]
call fcn.0041a8c0
test al, al
je 0x42a3fa
mov eax, dword [esi + 0x188]
push 0
push dword [esi + 0x264]
inc eax
push eax
push dword [esi + 0x37c]
movzx eax, byte [esi + 0x390]
push 0x12
push 0x50
push 4
and eax, 1
push 0xcd
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4e98b8
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x42a3fa
push eax
push 0xd
lea ecx, [esi + 0x148]
call fcn.0041a630
movaps xmm0, xmmword [0x4ab500]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x184]
movups xmmword [eax + ecx*8 + 0x24], xmm0
lea ecx, [esi + 0x148]
call fcn.0041a8c0
test al, al
je 0x42a476
mov eax, dword [esi + 0x188]
push 0
push dword [esi + 0x264]
inc eax
push eax
push dword [esi + 0x37c]
movzx eax, byte [esi + 0x390]
push 0x10
push 0x10
push 4
and eax, 1
push 0x122
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x49fab0
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x42a476
push eax
push 0xd
lea ecx, [esi + 0x148]
call fcn.0041a630
movaps xmm0, xmmword [0x4ab4a0]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x184]
movups xmmword [eax + ecx*8 + 0x24], xmm0
push 0x1010ff
push 0xffffffffffffffff
lea ecx, [esi + 0x148]
call fcn.00416d40
lea ecx, [esi + 0x148]
call fcn.0041a8c0
test al, al
je 0x42a504
mov eax, dword [esi + 0x188]
push 0
push dword [esi + 0x264]
inc eax
push eax
push dword [esi + 0x37c]
movzx eax, byte [esi + 0x390]
push 0x12
push 0x50
push 4
and eax, 1
push 0x136
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4a1360
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x42a504
push eax
push 0xd
lea ecx, [esi + 0x148]
call fcn.0041a630
movaps xmm0, xmmword [0x4ab510]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x184]
movups xmmword [eax + ecx*8 + 0x24], xmm0
xor eax, eax
mov dword [esi + 0x338], 0x8002
mov dword [ebp - 0x17d8], eax
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x1858], eax
je 0x42a5aa
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x17e0], eax
lea eax, [ebp - 0x17e0]
push eax
push 0
push 0xe200b
push 0
push 0x16
push 0x16
mov dword [ebp - 0xc4], vtable.Gdiplus::Bitmap.0
call dword [sym.imp.gdiplus.dll_GdipCreateBitmapFromScan0]
mov ecx, dword [ebp - 0x1858]
lea edx, [ebp - 0xc4]
push 0x16
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x17e0]
push 0x16
mov dword [ebp - 0xc0], eax
call fcn.004069e0
test al, al
mov eax, dword [ebp - 0xc0]
je 0x42a59d
push 0
lea ecx, [ebp - 0x17d8]
push ecx
push eax
call dword [sym.imp.gdiplus.dll_GdipCreateHBITMAPFromBitmap]
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.gdiplus.dll_GdipDisposeImage]
mov eax, dword [ebp - 0x17d8]
sub esp, 8
lea ecx, [esi + 0x148]
push 0x16
push 0x16
push 3
push 0x18e
push eax
call fcn.00415a80
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x17d8]
test eax, eax
je 0x42a5d9
push eax
call dword [ebp - 0x1890]
push 0x40
push 0xffffffffffffffff
lea ecx, [esi + 0x148]
call fcn.00417af0
lea eax, [ebp - 0x11c]
push eax
push dword [esi + 0xc0]
mov eax, dword [sym.imp.USER32.dll_GetWindowRect]
mov dword [ebp - 0x1868], eax
call eax
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x110]
sub ecx, dword [ebp - 0x11c]
sub eax, dword [ebp - 0x118]
cmp ecx, 0xffffffff
jne 0x42a64e
cmp eax, ecx
jne 0x42a64e
lea eax, [ebp - 0x1cc]
push eax
push dword [esi + 0x378]
call dword [ebp - 0x1868]
mov ecx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1c0]
sub ecx, dword [ebp - 0x1cc]
sub eax, dword [ebp - 0x1c8]
mov dword [ebp - 0xc4], ecx
mov edx, 1
mov dword [ebp - 0xc0], eax
sub esp, 0xc
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0
movups xmm0, xmmword [ebp - 0xc4]
lea ecx, [edx + 0x11]
movups xmmword [esi + 0x288], xmm0
call fcn.00405d90
mov edx, dword [esi + 0x3b4]
mov dword [ebp - 0x1888], eax
test edx, edx
je 0x42a6a9
push edx
call dword [ebp - 0x1890]
mov eax, dword [ebp - 0x1888]
xor edx, edx
mov dword [esi + 0x3b4], eax
sub esp, 0xc
lea ecx, [edx + 0x12]
call fcn.00405d90
mov ecx, dword [esi + 0x3b8]
mov dword [ebp - 0x1888], eax
test ecx, ecx
je 0x42a6d9
push ecx
call dword [ebp - 0x1890]
mov eax, dword [ebp - 0x1888]
sub esp, 8
mov dword [esi + 0x3b8], eax
mov edx, 1
push 0xff5050af
call fcn.00406240
mov ecx, dword [esi + 0x3bc]
mov dword [ebp - 0x1888], eax
test ecx, ecx
je 0x42a70e
push ecx
call dword [ebp - 0x1890]
mov eax, dword [ebp - 0x1888]
sub esp, 8
mov dword [esi + 0x3bc], eax
xor edx, edx
push 0xff5050af
call fcn.00406240
mov ecx, dword [esi + 0x3c0]
mov dword [ebp - 0x1888], eax
test ecx, ecx
je 0x42a740
push ecx
call dword [ebp - 0x1890]
mov eax, dword [ebp - 0x1888]
mov dword [esi + 0x3c0], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x18bc], eax
add esi, 0x148
je 0x42a782
push 0
push 0
push dword [esi + 0x230]
push 0x40e5d0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x42a782
cmp eax, 0xffffffff
je 0x42a782
push eax
call dword [ebp - 0x18bc]
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 8
push eax
mov dword [ebp - 0x1864], eax
call esi
push 0xa
push dword [ebp - 0x1864]
mov dword [ebp - 0x1854], eax
call esi
push dword [ebp - 0x1864]
mov dword [ebp - 0x1850], eax
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov esi, dword [ebp - 0x1848]
mov dword [ebp - 0x9c], 0
mov eax, dword [esi + 0x9d0]
test eax, eax
je 0x42a833
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x108], 0
push ecx
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x158], 4
push ecx
lea ecx, [ebp - 0x108]
push ecx
push 0
push 0x4a1374
push eax
call dword [ebp - 0x1880]
test eax, eax
jne 0x42a833
cmp dword [ebp - 0x108], 4
jne 0x42a833
mov ecx, dword [ebp - 0x9c]
cmp ecx, dword [ebp - 0x1854]
ja 0x42a833
cmp ecx, 0x2e4
jae 0x42a852
mov eax, 0x3e8
cmp eax, dword [ebp - 0x1854]
sbb ecx, ecx
and ecx, 0xd2
add ecx, 0x316
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xb4], 0
mov eax, dword [esi + 0x9d0]
test eax, eax
je 0x42a8ce
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x104], 0
push ecx
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0x154], 4
push ecx
lea ecx, [ebp - 0x104]
push ecx
push 0
push 0x4a137c
push eax
call dword [ebp - 0x1880]
test eax, eax
jne 0x42a8c8
cmp dword [ebp - 0x104], 4
jne 0x42a8c8
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0x1850]
ja 0x42a8c8
cmp edx, 0x226
jb 0x42a8c8
mov ecx, dword [ebp - 0x9c]
jmp 0x42a8ed
mov ecx, dword [ebp - 0x9c]
mov eax, 0x2bc
cmp eax, dword [ebp - 0x1850]
sbb edx, edx
and edx, 0x96
add edx, 0x226
mov dword [ebp - 0xb4], edx
shr dword [ebp - 0x1854], 1
mov eax, ecx
shr dword [ebp - 0x1850], 1
shr eax, 1
sub dword [ebp - 0x1854], eax
mov eax, edx
push 0x210
push edx
push ecx
shr eax, 1
sub dword [ebp - 0x1850], eax
push dword [ebp - 0x1850]
push dword [ebp - 0x1854]
push 0
push dword [esi + 0xc0]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov dword [ebp - 0xa0], 0
mov eax, dword [esi + 0x9d0]
test eax, eax
je 0x42a9a3
lea ecx, [ebp - 0x150]
mov dword [ebp - 0xfc], 0
push ecx
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x150], 4
push ecx
lea ecx, [ebp - 0xfc]
push ecx
push 0
push str.AutoUpdate
push eax
call dword [ebp - 0x1880]
test eax, eax
jne 0x42a9a3
cmp dword [ebp - 0xfc], 4
jne 0x42a9a3
cmp dword [ebp - 0xa0], eax
jne 0x42a9ad
push 8
push dword [ebp - 0x18a4]
lea ecx, [esi + 0x148]
call fcn.00417af0
jmp 0x42a9ad
mov dword [ebp - 0xa0], 1
mov dword [ebp - 0x98], 0
mov eax, dword [esi + 0x9d0]
test eax, eax
je 0x42aa0f
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x100], 0
push ecx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x14c], 4
push ecx
lea ecx, [ebp - 0x100]
push ecx
push 0
push str.AutoRefresh
push eax
call dword [ebp - 0x1880]
test eax, eax
jne 0x42aa0f
cmp dword [ebp - 0x100], 4
jne 0x42aa0f
cmp dword [ebp - 0x98], eax
jne 0x42aa2c
jmp 0x42aa19
mov dword [ebp - 0x98], 0
push 8
push dword [ebp - 0x18a0]
lea ecx, [esi + 0x148]
call fcn.00417af0
mov dword [esi + 0x338], 0
mov eax, 0x70
mov word [ebp - 0x86], ax
mov edx, 0x45
mov byte [ebp - 0x88], 1
mov ecx, 0x53
movzx eax, word [esi + 0x44]
mov word [ebp - 0x84], ax
mov eax, 0x46
mov word [ebp - 0x80], ax
mov byte [ebp - 0x82], 9
movzx eax, word [esi + 0x80]
mov word [ebp - 0x7e], ax
mov eax, 0x72
mov word [ebp - 0x7a], ax
mov byte [ebp - 0x7c], 1
movzx eax, word [esi + 0x88]
mov word [ebp - 0x78], ax
mov eax, 0x74
mov word [ebp - 0x74], ax
mov byte [ebp - 0x76], 1
movzx eax, word [esi + 0x78]
mov word [ebp - 0x72], ax
mov byte [ebp - 0x70], 9
mov word [ebp - 0x6e], dx
movzx eax, word [esi + 0x5c]
mov word [ebp - 0x6c], ax
mov eax, 0x55
mov word [ebp - 0x68], ax
mov eax, dword [ebp - 0x18b0]
mov word [ebp - 0x66], ax
mov eax, 0x54
mov word [ebp - 0x62], ax
mov byte [ebp - 0x6a], 9
mov byte [ebp - 0x64], 9
movzx eax, word [esi + 0x74]
mov word [ebp - 0x60], ax
mov word [ebp - 0x5c], cx
mov byte [ebp - 0x5e], 9
movzx eax, word [esi + 0x6c]
mov word [ebp - 0x5a], ax
mov word [ebp - 0x56], cx
mov ecx, 0x4d
mov byte [ebp - 0x58], 0x11
movzx eax, word [esi + 0x70]
mov word [ebp - 0x54], ax
mov eax, 0x43
mov word [ebp - 0x50], ax
mov byte [ebp - 0x52], 0x11
movzx eax, word [esi + 0x60]
mov word [ebp - 0x4e], ax
mov eax, 0x52
mov word [ebp - 0x4a], ax
mov byte [ebp - 0x4c], 0x11
movzx eax, word [esi + 0x64]
mov word [ebp - 0x48], ax
mov eax, 0x4f
mov word [ebp - 0x44], ax
mov byte [ebp - 0x46], 0x11
movzx eax, word [esi + 0x68]
mov word [ebp - 0x42], ax
mov byte [ebp - 0x40], 0x11
mov word [ebp - 0x3e], dx
movzx eax, word [esi + 0x9c]
mov word [ebp - 0x3c], ax
mov eax, 0x42
mov word [ebp - 0x38], ax
mov byte [ebp - 0x3a], 9
movzx eax, word [esi + 0x50]
mov word [ebp - 0x36], ax
mov byte [ebp - 0x34], 9
mov word [ebp - 0x32], cx
movzx eax, word [esi + 0x30]
mov word [ebp - 0x30], ax
mov eax, 0x41
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x18b4]
mov byte [ebp - 0x2e], 0x11
mov word [ebp - 0x2a], ax
mov byte [ebp - 0x28], 0x11
mov word [ebp - 0x26], cx
mov eax, dword [ebp - 0x18b8]
mov word [ebp - 0x24], ax
mov eax, 0x55
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x1884]
mov byte [ebp - 0x22], 9
mov word [ebp - 0x1e], ax
mov eax, dword [esi + 0x38c]
test eax, eax
je 0x42abcf
push eax
call dword [sym.imp.USER32.dll_DestroyAcceleratorTable]
push 0x12
lea eax, [ebp - 0x88]
push eax
call dword [sym.imp.USER32.dll_CreateAcceleratorTableW]
mov dword [esi + 0x38c], eax
cmp eax, 0xffffffff
jne 0x42abf3
mov dword [esi + 0x38c], 0
mov al, byte [esi + 4]
and al, 1
mov byte [ebp - 0x1879], al
je 0x42ac18
cmp dword [esi + 0x7c], 0
jle 0x42ac18
mov ecx, esi
call fcn.004483c0
mov dword [ebp - 0x1884], eax
jmp 0x42b43f
push 1
push 1
lea ecx, [esi + 0x148]
call fcn.00410690
push 1
mov ecx, esi
call fcn.004409d0
test eax, eax
jne 0x42ac27
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SleepEx]
cmp dword [ebp - 0xa0], 0
je 0x42ac68
test dword [esi + 4], 2
jne 0x42ac68
push ecx
mov ecx, esi
call fcn.00441ed0
cmp eax, 1
jne 0x42ac68
xor eax, eax
mov dword [ebp - 0x1884], eax
jmp 0x42b43f
push 0
mov ecx, esi
call fcn.0042ce20
cmp dword [ebp - 0x98], 0
lea eax, [ebp - 0xe0]
push eax
setne byte [ebp - 0x1869]
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push 0
push 0x3e8
push dword [ebp - 0xdc]
push dword [ebp - 0xe0]
call fcn.0047bef0
mov ecx, eax
call fcn.0047c0c0
cmp byte [ebp - 0x1869], 0
mov eax, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
movsd qword [ebp - 0xd0], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x1864], eax
je 0x42acec
lea ecx, [ebp - 0xe0]
push ecx
call eax
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
call fcn.0047c0c0
divsd xmm0, qword [ebp - 0xd0]
cmp byte [ebp - 0x1879], 0
movsd qword [ebp - 0xd8], xmm0
mov byte [ebp - 0x1869], 0
je 0x42affc
sub esp, 8
lea eax, [esi + 0x148]
mov ecx, esi
push 0xc8
push 0x1c2
push 0
push eax
push 1
push 0x4e98d0
call fcn.00441c90
cmp eax, 1
jne 0x42aff5
mov ecx, dword [esi + 0x9b8]
lea eax, [esi + 0x9b8]
test ecx, ecx
je 0x42ad4f
cmp word [ecx], 0
jne 0x42adf2
xorps xmm0, xmm0
mov dword [ebp - 0xb8], 0
movq qword [ebp - 0xc0], xmm0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xc0], 0
mov byte [ebp - 0xb8], 1
movq qword [ebp - 0xb0], xmm0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xb0], 0
mov byte [ebp - 0xa8], 1
push eax
lea edx, [ebp - 0xb0]
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xc0]
call fcn.00422c20
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x42add5
push eax
call fcn.0046b303
add esp, 4
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x42adec
push eax
call fcn.0046b303
add esp, 4
lea eax, [esi + 0x9b8]
cmp dword [eax], 0
jne 0x42ae21
push 2
call fcn.0046b90c
mov dword [esi + 0x9b8], eax
add esp, 4
xor ecx, ecx
mov word [eax], cx
mov dword [esi + 0x9bc], ecx
mov byte [esi + 0x9c0], 1
mov ecx, dword [esi + 0x9b8]
jmp 0x42ae27
mov byte [eax + 8], 1
mov ecx, dword [eax]
mov eax, dword [ebp - 0x94]
xor edx, edx
mov dword [ebp - 0x1854], eax
mov eax, ecx
mov dword [ebp - 0x90], 0
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0x185c], eax
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x184c], ecx
mov dword [ebp - 0x1850], ecx
inc edx
cmp word [edx*2 + str.https:__www.carifred.com_cleardiskinfo_buy_license__hfp], 0
jne 0x42ae64
mov dword [ebp - 0x1878], edx
test ecx, ecx
jne 0x42ae94
mov dword [ebp - 0x1850], ecx
mov ecx, dword [ebp - 0x1854]
mov dword [ebp - 0x1854], ecx
mov dword [ebp - 0x185c], eax
jmp 0x42aed0
mov edi, dword [ebp - 0x1850]
xor ecx, ecx
cmp word [edi], cx
je 0x42aec8
mov dword [ebp - 0x1850], edi
mov edi, dword [ebp - 0x1854]
mov dword [ebp - 0x185c], eax
mov eax, dword [ebp - 0x184c]
mov dword [ebp - 0x1854], edi
nop
inc ecx
cmp word [eax + ecx*2], 0
jne 0x42aec0
add edx, ecx
mov dword [ebp - 0x1878], edx
lea eax, [edx + 1]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0046b90c
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x184c], ecx
test eax, eax
je 0x42af17
movzx edx, word [eax]
test dx, dx
je 0x42af17
mov word [ecx], dx
lea eax, [eax + 2]
movzx edx, word [eax]
add ecx, 2
test dx, dx
jne 0x42af06
mov edi, str.https:__www.carifred.com_cleardiskinfo_buy_license__hfp
mov edx, 0x68
sub edi, ecx
mov word [ecx], dx
add ecx, 2
movzx eax, word [edi + ecx]
mov edx, eax
test ax, ax
jne 0x42af23
mov eax, dword [ebp - 0x1850]
mov edi, dword [ebp - 0x1870]
test eax, eax
je 0x42af65
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x42af65
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x42af7d
mov ecx, esi
call fcn.0044d190
push 0
mov ecx, esi
call fcn.004409d0
test eax, eax
je 0x42b3ac
mov ecx, dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
lea eax, [esi + 0x148]
mov dword [ebp - 0x18d8], ecx
mov ecx, dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov dword [ebp - 0x18cc], ecx
mov ecx, dword [sym.imp.KERNEL32.dll_GetProcessId]
mov dword [ebp - 0x18a8], eax
mov dword [ebp - 0x18d0], 0x301020
mov dword [ebp - 0x18d4], 0xc0c0c0
mov dword [ebp - 0x18c0], ecx
mov ecx, dword [esi + 0xd0]
mov dword [ebp - 0x1878], ecx
cmp ecx, 0xfffffffa
je 0x42b3ac
cmp dword [esi + 0x100], eax
jne 0x42c32d
cmp ecx, 0xffffffd3
je 0x42b080
cmp ecx, 0xffffffd2
jne 0x42b245
mov eax, dword [esi + 0x90]
cmp dword [esi + 0xdc], eax
jne 0x42b23f
cmp eax, 0xffffffff
jne 0x42b09d
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x184]
test ecx, ecx
je 0x42b0d9
cmp eax, 1
jl 0x42b0d9
cmp eax, dword [esi + 0x188]
jg 0x42b0d9
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x42b0d9
cmp dword [ecx + eax*8], 0xf
jne 0x42b0d9
push 2
push 0xffffffffffffffff
push 0x100c
push dword [ecx + eax*8 + 4]
call dword [ebp - 0x188c]
jmp 0x42b0dc
or eax, 0xffffffff
push 3
push eax
push dword [esi + 0x90]
lea ecx, [esi + 0x148]
mov dword [ebp - 0x1844], eax
call fcn.00419bd0
mov ecx, eax
mov dword [ebp - 0x184c], ecx
test ecx, ecx
jne 0x42b122
push eax
lea ecx, [ebp - 0x94]
call fcn.00401a90
mov ecx, dword [ebp - 0x94]
mov edx, dword [eax]
test edx, edx
je 0x42b15c
mov eax, dword [ebp - 0x90]
jmp 0x42b152
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x42b13b
push eax
call fcn.0046b303
mov ecx, dword [ebp - 0x184c]
add esp, 4
xor eax, eax
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], eax
mov edx, ecx
mov byte [ebp - 0x8c], 1
cmp word [edx], 0
jne 0x42b1e8
test ecx, ecx
je 0x42b169
push ecx
call fcn.0046b303
add esp, 4
mov byte [ebp - 0x8c], 0
xor eax, eax
inc eax
cmp word [eax*2 + 0x4a08e8], 0
jne 0x42b172
test ecx, ecx
je 0x42b219
test eax, eax
jne 0x42b205
mov byte [ebp - 0x8c], 0
xor eax, eax
push 1
push eax
push dword [ebp - 0x1844]
mov ecx, esi
call fcn.0042fa70
push eax
mov ecx, esi
call fcn.0042f850
jmp 0x42c32d
lea eax, [esi + 0x148]
mov edx, dword [ebp - 0x18a0]
cmp ecx, edx
jne 0x42b2f0
push 4
push edx
mov ecx, eax
call fcn.00418be0
xor ecx, ecx
mov esi, eax
test esi, esi
setne cl
lea ecx, [ecx*4 + 4]
push ecx
push dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x18a8]
call fcn.00417af0
xor eax, eax
test esi, esi
sete al
mov dword [ebp - 0x98], eax
test esi, esi
jne 0x42b2be
lea eax, [ebp - 0xe0]
push eax
call dword [ebp - 0x1864]
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
call fcn.0047c0c0
divsd xmm0, qword [ebp - 0xd0]
movsd qword [ebp - 0xd8], xmm0
mov esi, dword [ebp - 0x1848]
mov eax, dword [esi + 0x9d0]
test eax, eax
je 0x42c32d
push 4
lea ecx, [ebp - 0x98]
push ecx
push 4
push 0
push str.AutoRefresh
push eax
call dword [ebp - 0x1894]
jmp 0x42c32d
mov edx, dword [ebp - 0x18ac]
cmp ecx, edx
jne 0x42b593
push 4
push edx
mov ecx, eax
call fcn.00418be0
xor ecx, ecx
mov esi, eax
mov eax, dword [ebp - 0x18ac]
test esi, esi
setne cl
lea ecx, [ecx*4 + 4]
push ecx
mov ecx, dword [ebp - 0x18a8]
push eax
call fcn.00417af0
mov edx, dword [ebp - 0x1848]
xor ecx, ecx
test esi, esi
setne cl
test esi, esi
mov eax, dword [edx]
mov dword [ebp - 0x184c], eax
mov eax, 0x301020
cmovne eax, dword [ebp - 0x18d4]
mov dword [edx + 0xa4], eax
mov eax, 0xfffefc
cmovne eax, dword [ebp - 0x18d0]
neg esi
mov dword [edx + 0xa8], eax
sbb esi, esi
and esi, 0xffffff
mov dword [edx + 0xac], esi
mov esi, edx
mov dword [esi], ecx
mov eax, dword [esi + 0x9d0]
test eax, eax
je 0x42b397
push 4
push esi
push 4
push 0
push str.CurrentTheme
push eax
call dword [ebp - 0x1894]
mov eax, dword [ebp - 0x184c]
cmp eax, dword [esi]
je 0x42c3c7
mov byte [ebp - 0x1869], 1
lea eax, [ebp - 0x11c]
push eax
push dword [esi + 0xc0]
call dword [ebp - 0x1868]
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x11c]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x118]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + 0x9d0]
test eax, eax
je 0x42b406
push 4
lea ecx, [ebp - 0x9c]
push ecx
push 4
push 0
push 0x4a1374
push eax
call dword [ebp - 0x1894]
mov eax, dword [esi + 0x9d0]
test eax, eax
je 0x42b429
push 4
lea ecx, [ebp - 0xb4]
push ecx
push 4
push 0
push 0x4a137c
push eax
call dword [ebp - 0x1894]
xor ecx, ecx
mov eax, 0x4eb
cmp byte [ebp - 0x1869], cl
cmovne ecx, eax
mov dword [ebp - 0x1884], ecx
mov eax, dword [ebp - 0x17a8]
mov esi, dword [ebp - 0x1890]
test eax, eax
je 0x42b452
push eax
call esi
mov eax, dword [ebp - 0x17dc]
test eax, eax
je 0x42b45f
push eax
call esi
test edi, edi
je 0x42b466
push edi
call esi
mov eax, dword [ebp - 0x17ac]
test eax, eax
je 0x42b473
push eax
call esi
mov eax, dword [ebp - 0x17b0]
test eax, eax
je 0x42b480
push eax
call esi
mov eax, dword [ebp - 0x17d4]
test eax, eax
je 0x42b48d
push eax
call esi
mov eax, dword [ebp - 0x17b4]
test eax, eax
je 0x42b49a
push eax
call esi
mov eax, dword [ebp - 0x17b8]
test eax, eax
je 0x42b4a7
push eax
call esi
mov eax, dword [ebp - 0x17bc]
test eax, eax
je 0x42b4b4
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x42b553
push eax
call fcn.0046b303
add esp, 4
mov eax, dword [ebp - 0x1898]
test eax, eax
je 0x42b566
push eax
call fcn.0046b303
add esp, 4
test esi, esi
je 0x42b571
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0046b2f5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
cmp ecx, dword [esi + 0x30]
jne 0x42b65f
mov eax, dword [esi + 0x90]
cmp eax, 0xffffffff
jne 0x42b5ad
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x184]
test ecx, ecx
je 0x42b64a
cmp eax, 1
jl 0x42b64a
cmp eax, dword [esi + 0x188]
jg 0x42b64a
push 0x48
push dword [esi + 0x30]
lea ecx, [esi + 0x148]
call fcn.00417af0
jmp 0x42c3c7
cmp ecx, dword [esi + 0x78]
jne 0x42b672
push 0xffffffffffffffff
mov ecx, esi
call fcn.0042ce20
jmp 0x42c32d
mov edx, dword [ebp - 0x18a4]
cmp ecx, edx
jne 0x42b6e5
push 4
push edx
mov ecx, eax
call fcn.00418be0
xor ecx, ecx
mov dword [ebp - 0x184c], eax
test eax, eax
sete cl
mov dword [ebp - 0xa0], ecx
mov ecx, dword [esi + 0x9d0]
test ecx, ecx
je 0x42b6bc
push 4
lea eax, [ebp - 0xa0]
push eax
push 4
push 0
push str.AutoUpdate
push ecx
call dword [ebp - 0x1894]
xor eax, eax
lea ecx, [esi + 0x148]
cmp dword [ebp - 0x184c], eax
setne al
lea eax, [eax*4 + 4]
push eax
push dword [ebp - 0x18a4]
call fcn.00417af0
jmp 0x42c32d
cmp ecx, dword [esi + 0x5c]
jne 0x42ba8a
mov eax, dword [esi + 0x90]
cmp eax, 0xffffffff
jne 0x42b6ff
cmp ecx, dword [ebp - 0x18b0]
jne 0x42bad0
cmp dword [ebp - 0x98], 0
je 0x42c3c7
movsd xmm0, qword [ebp - 0xd8]
ucomisd xmm0, qword [0x4ab2d8]
movsd qword [ebp - 0xb0], xmm0
lahf
test ah, 0x44
jnp 0x42c3c7
lea eax, [ebp - 0xe0]
push eax
call dword [ebp - 0x1864]
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
call fcn.0047c0c0
divsd xmm0, qword [ebp - 0xd0]
subsd xmm0, qword [ebp - 0xb0]
comisd xmm0, xmmword [0x4ab418]
jbe 0x42c3c7
push 0xffffffffffffffff
mov ecx, esi
call fcn.0042ce20
lea eax, [ebp - 0xe0]
push eax
call dword [ebp - 0x1864]
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
call fcn.0047c0c0
divsd xmm0, qword [ebp - 0xd0]
movsd qword [ebp - 0xd8], xmm0
push 0
mov ecx, esi
call fcn.004409d0
test eax, eax
je 0x42b3ac
lea eax, [esi + 0x148]
jmp 0x42b051