Function at 0x45e310
Capabilities:
Check internet connectivity via wininet
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1a4
mov eax, dword [0x532d60]
xor eax, esp
mov dword [esp + 0x1a0], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
push 0
call fcn.004ba8c3
add esp, 4
push eax
call fcn.004b8a4f
add esp, 4
lea ecx, [esp + 0xc]
push esi
call fcn.00403ac0
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
jl 0x45e363
push str._nftest
push eax
call fcn.004b8c4a
add esp, 8
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
or edi, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x45e383
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x5326d0]
mov ecx, 0x5326d0
call dword [eax + 0xc]
push ecx
add eax, 0x10
mov ecx, esp
push str.93ceddcbd8ddc8dd81
mov dword [esp + 0x1c], eax
call fcn.00403ac0
lea ecx, [esp + 0x40]
call fcn.00436070
mov eax, dword [eax]
add esp, 4
lea ecx, [esp + 0x10]
push esi
mov dword [esp + 0x10], eax
call fcn.00403ac0
mov ecx, dword [esp + 0xc]
mov ebx, eax
test ecx, ecx
jne 0x45e3cf
or eax, 0xffffffff
jmp 0x45e3f3
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
jge 0x45e3dc
or eax, 0xffffffff
jmp 0x45e3f3
push ecx
push eax
call fcn.004b8c4a
add esp, 8
test eax, eax
jne 0x45e3ef
or eax, 0xffffffff
jmp 0x45e3f3
sub eax, dword [ebx]
sar eax, 1
mov edx, dword [esp + 0x10]
test eax, eax
setns bl
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e415
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x3c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e432
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test bl, bl
je 0x45e46c
push esi
lea ecx, [esp + 0x10]
call fcn.00403ac0
lea edx, [esp + 0x14]
lea ecx, [esp + 0xc]
call fcn.0045df90
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e49a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45e49a
test esi, esi
jne 0x45e474
xor ecx, ecx
jmp 0x45e48f
mov ecx, esi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45e480
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [esp + 0x1c]
call fcn.00404a90
push str._url
lea ecx, [esp + 0x10]
call fcn.00403ac0
lea eax, [esp + 0xc]
push eax
lea edx, [esp + 0x18]
lea ecx, [esp + 0x40]
call fcn.004354c0
mov edx, dword [eax]
mov esi, dword [0x5382a4]
lea ecx, [edx - 0x10]
add esi, 0xfffffff0
add esp, 4
cmp ecx, esi
je 0x45e516
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x45e508
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x45e508
call fcn.00404b50
mov dword [esp + 0x10], eax
mov ecx, edi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x45e4fe
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [esp + 0x10]
add eax, 0x10
mov dword [0x5382a4], eax
jmp 0x45e516
push dword [edx - 0xc]
mov ecx, 0x5382a4
push edx
call fcn.00404a90
mov edx, dword [esp + 0x3c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e533
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e550
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x5382a4]
cmp dword [eax - 0xc], 0
jne 0x45e565
mov ebx, 1
jmp 0x45f0d4
push ecx
mov ecx, esp
push str.93d9ceced3cecfd8d3d1ddd5d281
call fcn.00403ac0
lea ecx, [esp + 0x14]
call fcn.00436070
add esp, 4
lea edx, [esp + 0x14]
push eax
lea ecx, [esp + 0x10]
call fcn.004354c0
add esp, 4
mov ecx, 0x5382ac
push eax
call fcn.00403c20
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e5b7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e5d4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push str.93cfc8ddc8cfd8d3d1ddd5d281
call fcn.00403ac0
lea ecx, [esp + 0x14]
call fcn.00436070
add esp, 4
lea edx, [esp + 0x14]
push eax
lea ecx, [esp + 0x10]
call fcn.004354c0
add esp, 4
mov ecx, 0x5382a8
push eax
call fcn.00403c20
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e626
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e643
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push str.93ded5df81
call fcn.00403ac0
lea ecx, [esp + 0x14]
call fcn.00436070
add esp, 4
lea edx, [esp + 0x14]
push eax
lea ecx, [esp + 0x10]
call fcn.004354c0
add esp, 4
mov ecx, 0x5382b0
push eax
call fcn.00403c20
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e695
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e6b2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push str.93cad9ced5dad5d9ce81
call fcn.00403ac0
lea ecx, [esp + 0x14]
call fcn.00436070
add esp, 4
lea edx, [esp + 0x14]
push eax
lea ecx, [esp + 0x10]
call fcn.004354c0
add esp, 4
mov ecx, 0x5382b4
push eax
call fcn.00403c20
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e704
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e721
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push str.93d5d2cfc8ddd0d0d9cecad9cecfd5d3d281
call fcn.00403ac0
lea ecx, [esp + 0x14]
call fcn.00436070
add esp, 4
lea edx, [esp + 0x14]
push eax
lea ecx, [esp + 0x10]
call fcn.004354c0
add esp, 4
mov ecx, 0x5382b8
push eax
call fcn.00403c20
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e773
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e790
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push str.93ddccccd5d881
call fcn.00403ac0
lea ecx, [esp + 0x14]
call fcn.00436070
add esp, 4
lea edx, [esp + 0x14]
push eax
lea ecx, [esp + 0x10]
call fcn.004354c0
add esp, 4
mov ecx, 0x5382c0
push eax
call fcn.00403c20
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e7e2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e7ff
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push str.93cfcedfd5d881
call fcn.00403ac0
lea ecx, [esp + 0x14]
call fcn.00436070
add esp, 4
lea edx, [esp + 0x14]
push eax
lea ecx, [esp + 0x10]
call fcn.004354c0
add esp, 4
mov ecx, 0x5382c4
push eax
call fcn.00403c20
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e851
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e86e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push str.93dfceced9dbd2ddd1d981
call fcn.00403ac0
lea ecx, [esp + 0x14]
call fcn.00436070
add esp, 4
lea edx, [esp + 0x14]
push eax
lea ecx, [esp + 0x10]
call fcn.004354c0
add esp, 4
mov ecx, 0x5382c8
push eax
call fcn.00403c20
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e8c0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e8dd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [esp + 0xc]
call fcn.0045d820
push eax
mov ecx, 0x5382bc
call fcn.00403c20
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e90e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push 0x51d830
call fcn.00403ac0
lea ecx, [esp + 0x14]
call fcn.00436070
add esp, 4
lea edx, [esp + 0x14]
push eax
lea ecx, [esp + 0x10]
call fcn.004354c0
add esp, 4
mov ecx, 0x5382d0
push eax
call fcn.00403c20
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e960
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e97d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push str.93d3d2d9ceced3ced9c4d981
call fcn.00403ac0
lea ecx, [esp + 0x14]
call fcn.00436070
add esp, 4
lea edx, [esp + 0x14]
push eax
lea ecx, [esp + 0x10]
call fcn.004354c0
add esp, 4
mov ecx, 0x5382d8
push eax
call fcn.00403c20
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e9cf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45e9ec
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 7
push str.1.1.1.5
mov ecx, 0x5382cc
call fcn.00404a90
lea ecx, [esp + 0xc]
call fcn.0045bca0
push eax
mov ecx, 0x5382d4
call fcn.00403c20
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45ea2e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push str.93ccd3cfc8ccd3d2d9d8d4d3c9cecf81
mov dword [esp + 0x64], 0
call fcn.00403ac0
lea ecx, [esp + 0x10]
call fcn.00436070
add esp, 4
lea edx, [esp + 0x14]
push eax
lea ecx, [esp + 0x60]
call fcn.004354c0
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45ea7d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x64], 8
mov dword [esp + 0x68], 0xff
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov eax, 0x88888889
mul edx
xor al, al
movzx eax, al
shr edx, 5
mov ecx, 1
cmp edx, 2
cmovb eax, ecx
mov dword [esp + 0x60], eax
push 0
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0xb4]
push eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
sub esp, 0xc
call fcn.00460830
call fcn.0040b8f0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov eax, dword [0x5382f4]
add eax, 0x10
push eax
mov dword [esp + 0x78], 0x52126c
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x10], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, dword [0x53829c]
push 4
mov ecx, dword [esi + 8]
inc ecx
push ecx
push dword [esi]
mov ebx, eax
call fcn.004b91b8
add esp, 0xc
test eax, eax
je 0x45ebeb
mov dword [esi], eax
mov eax, dword [esi + 8]
push 4
inc eax
push eax
push dword [esi + 4]
call fcn.004b91b8
add esp, 0xc
test eax, eax
je 0x45ebeb
mov dword [esi + 4], eax
mov eax, dword [esi + 8]
lea ecx, [eax*4]
mov eax, dword [esi]
add eax, ecx
je 0x45ebdb
mov dword [eax], ebx
mov eax, dword [esi + 4]
add eax, ecx
je 0x45ebe8
lea ecx, [esp + 0x74]
mov dword [eax], ecx
inc dword [esi + 8]
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x5326d0]
push ecx
mov ecx, 0x5326d0
mov esi, 0x1d4c0
mov dword [esp + 0x44], 0
mov ebx, esp
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebx], eax
mov eax, str.93dececbcfd4c8d3d1cf81
test eax, 0xffff0000
jne 0x45ec42
movzx ecx, ax
call fcn.00405910
test eax, eax
je 0x45ec50
mov edx, str.93dececbcfd4c8d3d1cf81
movzx ecx, dx
push ecx
push eax
mov ecx, ebx
call fcn.00404e50
jmp 0x45ec50
push 0x16
push str.93dececbcfd4c8d3d1cf81
mov ecx, ebx
call fcn.00404a90
lea ecx, [esp + 0x10]
call fcn.00436070
add esp, 4
lea edx, [esp + 0x14]
push eax
lea ecx, [esp + 0x44]
call fcn.004354c0
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45ec8a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esp + 0x40]
cmp dword [eax - 0xc], 0
je 0x45eca9
push eax
call fcn.004bb545
mov esi, eax
mov eax, 0x1d4c0
add esp, 4
cmp esi, eax
cmova esi, eax
mov eax, dword [0x5326d0]
mov ecx, 0x5326d0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x1a4], 0
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
mov eax, str.notificationMain
test eax, 0xffff0000
jne 0x45edcb
movzx ebx, ax
mov ecx, ebx
call fcn.00405910
test eax, eax
je 0x45eddb
push ebx
push eax
lea ecx, [esp + 0x18]
call fcn.00404e50
jmp 0x45eddb
push 0x10
push str.notificationMain
lea ecx, [esp + 0x18]
call fcn.00404a90
mov eax, dword [0x5326d0]
mov ecx, 0x5326d0
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x3c], eax
mov eax, str.1.1.1.5
test eax, 0xffff0000
jne 0x45ee16
movzx ebx, ax
mov ecx, ebx
call fcn.00405910
test eax, eax
je 0x45ee26
push ebx
push eax
lea ecx, [esp + 0x44]
call fcn.00404e50
jmp 0x45ee26
push 7
push str.1.1.1.5
lea ecx, [esp + 0x44]
call fcn.00404a90
push ecx
lea eax, [esp + 0x14]
push eax
push esi
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0xd4]
call fcn.004398b0
mov edx, dword [esp + 0x3c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45ee60
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45ee7d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [esp + 0xc0]
call fcn.0043b530
test al, al
jne 0x45f108
mov eax, dword [0x5326d0]
mov ecx, 0x5326d0
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0xc], eax
mov eax, str.init_fail
test eax, 0xffff0000
jne 0x45eecc
movzx esi, ax
mov ecx, esi
call fcn.00405910
test eax, eax
je 0x45eedc
push esi
push eax
lea ecx, [esp + 0x14]
call fcn.00404e50
jmp 0x45eedc
push 9
push str.init_fail
lea ecx, [esp + 0x14]
call fcn.00404a90
mov eax, dword [0x5326d0]
mov ecx, 0x5326d0
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x3c], eax
mov eax, str._tWinMain
test eax, 0xffff0000
jne 0x45ef17
movzx esi, ax
mov ecx, esi
call fcn.00405910
test eax, eax
je 0x45ef27
push esi
push eax
lea ecx, [esp + 0x44]
call fcn.00404e50
jmp 0x45ef27
push 9
push str._tWinMain
lea ecx, [esp + 0x44]
call fcn.00404a90
mov eax, dword [0x5326d0]
mov ecx, 0x5326d0
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
mov eax, str.notificationCenter
test eax, 0xffff0000
jne 0x45ef62
movzx esi, ax
mov ecx, esi
call fcn.00405910
test eax, eax
je 0x45ef72
push esi
push eax
lea ecx, [esp + 0x18]
call fcn.00404e50
jmp 0x45ef72
push 0x12
push str.notificationCenter
lea ecx, [esp + 0x18]
call fcn.00404a90
push 0
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x1c]
push eax
mov ecx, 0x537920
call fcn.004018b0
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45efaa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x3c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45efc7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45efe4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [esp + 0xc0]
call fcn.00439d00
mov edx, dword [esp + 0x40]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45f00d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esp + 0x84]
test eax, eax
je 0x45f02c
push eax
call fcn.004b8988
add esp, 4
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x78]
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
test eax, eax
je 0x45f053
push eax
call fcn.004b8988
add esp, 4
or ebx, 0xffffffff
mov eax, dword [0x5382d8]
cmp dword [eax - 0xc], 0
je 0x45f0b7
cmp dword [0x537524], 2
jne 0x45f085
cmp ebx, 0x3e8
je 0x45f085
push 0x51a060
push str._brwtype
lea ecx, [esp + 0x1c]
call fcn.00403ce0
push ecx
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
mov esi, esp
call fcn.00404b50
add eax, 0x10
push ecx
mov dword [esi], eax
mov ecx, dword [0x5382d8]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.00404b50
add eax, 0x10
mov dword [esi], eax
call fcn.00434700
add esp, 8
mov edx, dword [esp + 0x5c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45f0d4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [esp + 0x14]
add esi, 0xfffffff0
lea eax, [esi + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x45f0ef
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [esp + 0x1ac]
pop edi
pop esi
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.004b8181
mov esp, ebp
pop ebp
ret 0x10
cmp byte [esp + 0x60], 0
je 0x45f150
push 0x1d4c0
mov dword [0x53755c], 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [sym.imp.WININET.dll_InternetGetConnectedState]
xor esi, esi
lea esp, [esp]
push 0
lea eax, [esp + 0x64]
push eax
mov dword [esp + 0x68], 0
call ebx
test eax, eax
jne 0x45f16d
inc esi
cmp esi, 2
jl 0x45f130
jmp 0x45efe4
push 0
lea eax, [esp + 0x64]
push eax
mov dword [esp + 0x68], 0
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
test eax, eax
je 0x45efe4
and dword [esp + 0x68], 0xfffffe00
mov edx, 0x5382c8
lea ecx, [esp + 0x44]
mov dword [esp + 0x6c], 0
call fcn.00433ad0
mov ecx, dword [esp + 0x30]
and ecx, 0xffffff04
mov esi, eax
mov eax, dword [0x538390]
or ecx, 0x104
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0
test al, 1
jne 0x45f1d1
or eax, 1
push 0x4e75e0
mov dword [0x538390], eax
mov dword [0x538314], 0x51fae8
call fcn.004b8949
add esp, 4
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x45f1dc
mov esi, dword [esi]
mov ecx, dword [0x534374]
push edx
mov eax, dword [ecx]
push esi
call dword [eax + 0xc]
push ecx
push str.appname
lea ecx, [esp + 0x68]
mov dword [esp + 0x30], eax
call fcn.0044d470
mov esi, eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x28], 0
call fcn.0044c840
movsx ecx, byte [esi + 8]
mov ebx, dword [esp + 0x20]
mov byte [esi + 8], bl
mov edx, dword [esi + 4]
mov eax, ebx
xor eax, ecx
mov ecx, dword [esi]
and eax, 0xff
xor ebx, eax
mov eax, dword [esp + 0x18]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, ecx
shl edx, 8
xor eax, ebx
xor edx, ebx
and eax, 0x100
and edx, 0x100
xor eax, ecx
xor ebx, edx
lea ecx, [esp + 0x18]
mov dword [esi + 8], eax
mov dword [esp + 0x20], ebx
call fcn.0044c9c0
lea ecx, [esp + 0x28]
call fcn.0044c9c0
cmp dword [esp + 0x58], 0x10
jb 0x45f293
push dword [esp + 0x44]
call fcn.004b817c
add esp, 4
mov edx, 0x5382c0
lea ecx, [esp + 0x44]
call fcn.00433ad0
mov ecx, dword [esp + 0x30]
and ecx, 0xffffff04
mov esi, eax
mov eax, dword [0x538390]
or ecx, 0x104
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0
test al, 1
jne 0x45f2e7
or eax, 1
push 0x4e75e0
mov dword [0x538390], eax
mov dword [0x538314], 0x51fae8
call fcn.004b8949
add esp, 4
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x45f2f2
mov esi, dword [esi]
mov ecx, dword [0x534374]
push edx
mov eax, dword [ecx]
push esi
call dword [eax + 0xc]
push ecx
push str.appid
lea ecx, [esp + 0x68]
mov dword [esp + 0x30], eax
call fcn.0044d470
mov esi, eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x28], 0
call fcn.0044c840
movsx ecx, byte [esi + 8]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
xor ecx, ebx
mov byte [esi + 8], bl
mov edx, dword [esi + 4]
and ecx, 0xff
xor ebx, ecx
mov ecx, dword [esi]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, ecx
shl edx, 8
xor eax, ebx
xor edx, ebx
and eax, 0x100
and edx, 0x100
xor eax, ecx
xor ebx, edx
lea ecx, [esp + 0x18]
mov dword [esi + 8], eax
mov dword [esp + 0x20], ebx
call fcn.0044c9c0
lea ecx, [esp + 0x28]
call fcn.0044c9c0
cmp dword [esp + 0x58], 0x10
jb 0x45f3a8
push dword [esp + 0x44]
call fcn.004b817c
add esp, 4
mov edx, 0x5382c4
lea ecx, [esp + 0x44]
call fcn.00433ad0
mov ecx, dword [esp + 0x30]
and ecx, 0xffffff04
mov esi, eax
mov eax, dword [0x538390]
or ecx, 0x104
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0
test al, 1
jne 0x45f3fc
or eax, 1
push 0x4e75e0
mov dword [0x538390], eax
mov dword [0x538314], 0x51fae8
call fcn.004b8949
add esp, 4
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x45f407
mov esi, dword [esi]
mov ecx, dword [0x534374]
push edx
mov eax, dword [ecx]
push esi
call dword [eax + 0xc]
push ecx
push 0x521120
lea ecx, [esp + 0x68]
mov dword [esp + 0x30], eax
call fcn.0044d470
mov esi, eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x28], 0
call fcn.0044c840
movsx ecx, byte [esi + 8]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
xor ecx, ebx
mov byte [esi + 8], bl
mov edx, dword [esi + 4]
and ecx, 0xff
xor ebx, ecx
mov ecx, dword [esi]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, ecx
shl edx, 8
xor eax, ebx
xor edx, ebx
and eax, 0x100
and edx, 0x100
xor eax, ecx
xor ebx, edx
lea ecx, [esp + 0x18]
mov dword [esi + 8], eax
mov dword [esp + 0x20], ebx
call fcn.0044c9c0
lea ecx, [esp + 0x28]
call fcn.0044c9c0
cmp dword [esp + 0x58], 0x10
jb 0x45f4bd
push dword [esp + 0x44]
call fcn.004b817c
add esp, 4
mov edx, 0x5382ac
lea ecx, [esp + 0x44]
call fcn.00433ad0
mov ecx, dword [esp + 0x30]
and ecx, 0xffffff04
mov esi, eax
mov eax, dword [0x538390]
or ecx, 0x104
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0
test al, 1
jne 0x45f511
or eax, 1
push 0x4e75e0
mov dword [0x538390], eax
mov dword [0x538314], 0x51fae8
call fcn.004b8949
add esp, 4
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x45f51c
mov esi, dword [esi]
mov ecx, dword [0x534374]
push edx
mov eax, dword [ecx]
push esi
call dword [eax + 0xc]
push ecx
push str.errorurl
lea ecx, [esp + 0x68]
mov dword [esp + 0x30], eax
call fcn.0044d470
mov esi, eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x28], 0
call fcn.0044c840
movsx ecx, byte [esi + 8]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
xor ecx, ebx
mov byte [esi + 8], bl
mov edx, dword [esi + 4]
and ecx, 0xff
xor ebx, ecx
mov ecx, dword [esi]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, ecx
shl edx, 8
xor eax, ebx
xor edx, ebx
and eax, 0x100
and edx, 0x100
xor eax, ecx
xor ebx, edx
lea ecx, [esp + 0x18]
mov dword [esi + 8], eax
mov dword [esp + 0x20], ebx
call fcn.0044c9c0
lea ecx, [esp + 0x28]
call fcn.0044c9c0
cmp dword [esp + 0x58], 0x10
jb 0x45f5d2
push dword [esp + 0x44]
call fcn.004b817c
add esp, 4
mov edx, 0x5382a8
lea ecx, [esp + 0x44]
call fcn.00433ad0
mov ecx, dword [esp + 0x30]
and ecx, 0xffffff04
mov esi, eax
mov eax, dword [0x538390]
or ecx, 0x104
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0
test al, 1
jne 0x45f626
or eax, 1
push 0x4e75e0
mov dword [0x538390], eax
mov dword [0x538314], 0x51fae8
call fcn.004b8949
add esp, 4
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x45f631
mov esi, dword [esi]
mov ecx, dword [0x534374]
push edx
mov eax, dword [ecx]
push esi
call dword [eax + 0xc]
push ecx
push str.staturl
lea ecx, [esp + 0x68]
mov dword [esp + 0x30], eax
call fcn.0044d470
mov esi, eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x28], 0
call fcn.0044c840
movsx ecx, byte [esi + 8]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
xor ecx, ebx
mov byte [esi + 8], bl
mov edx, dword [esi + 4]
and ecx, 0xff
xor ebx, ecx
mov ecx, dword [esi]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, ecx
shl edx, 8
xor eax, ebx
xor edx, ebx
and eax, 0x100
and edx, 0x100
xor eax, ecx
xor ebx, edx
lea ecx, [esp + 0x18]
mov dword [esi + 8], eax
mov dword [esp + 0x20], ebx
call fcn.0044c9c0
lea ecx, [esp + 0x28]
call fcn.0044c9c0
cmp dword [esp + 0x58], 0x10
jb 0x45f6e7
push dword [esp + 0x44]
call fcn.004b817c
add esp, 4
mov edx, 0x5382b0
lea ecx, [esp + 0x44]
call fcn.00433ad0
mov ecx, dword [esp + 0x30]
and ecx, 0xffffff04
mov esi, eax
mov eax, dword [0x538390]
or ecx, 0x104
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0
test al, 1
jne 0x45f73b
or eax, 1
push 0x4e75e0
mov dword [0x538390], eax
mov dword [0x538314], 0x51fae8
call fcn.004b8949
add esp, 4
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x45f746
mov esi, dword [esi]
mov ecx, dword [0x534374]
push edx
mov eax, dword [ecx]
push esi
call dword [eax + 0xc]
push ecx
push 0x52113c
lea ecx, [esp + 0x68]
mov dword [esp + 0x30], eax
call fcn.0044d470
mov esi, eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x28], 0
call fcn.0044c840
movsx ecx, byte [esi + 8]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
xor ecx, ebx
mov byte [esi + 8], bl
mov edx, dword [esi + 4]
and ecx, 0xff
xor ebx, ecx
mov ecx, dword [esi]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, ecx
shl edx, 8
xor eax, ebx
xor edx, ebx
and eax, 0x100
and edx, 0x100
xor eax, ecx
xor ebx, edx
lea ecx, [esp + 0x18]
mov dword [esi + 8], eax
mov dword [esp + 0x20], ebx
call fcn.0044c9c0
lea ecx, [esp + 0x28]
call fcn.0044c9c0
cmp dword [esp + 0x58], 0x10
jb 0x45f7fc
push dword [esp + 0x44]
call fcn.004b817c
add esp, 4
mov edx, 0x5382b8
lea ecx, [esp + 0x44]
call fcn.00433ad0
mov ecx, dword [esp + 0x30]
and ecx, 0xffffff04
mov esi, eax
mov eax, dword [0x538390]
or ecx, 0x104
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0
test al, 1
jne 0x45f850
or eax, 1
push 0x4e75e0
mov dword [0x538390], eax
mov dword [0x538314], 0x51fae8
call fcn.004b8949
add esp, 4
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x45f85b
mov esi, dword [esi]
mov ecx, dword [0x534374]
push edx
mov eax, dword [ecx]
push esi
call dword [eax + 0xc]
push ecx
push str.iver
lea ecx, [esp + 0x68]
mov dword [esp + 0x30], eax
call fcn.0044d470
mov esi, eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x28], 0
call fcn.0044c840
movsx ecx, byte [esi + 8]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
xor ecx, ebx
mov byte [esi + 8], bl
mov edx, dword [esi + 4]
and ecx, 0xff
xor ebx, ecx
mov ecx, dword [esi]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, ecx
shl edx, 8
xor eax, ebx
xor edx, ebx
and eax, 0x100
and edx, 0x100
xor eax, ecx
xor ebx, edx
lea ecx, [esp + 0x18]
mov dword [esi + 8], eax
mov dword [esp + 0x20], ebx
call fcn.0044c9c0
lea ecx, [esp + 0x28]
call fcn.0044c9c0
cmp dword [esp + 0x58], 0x10
jb 0x45f911
push dword [esp + 0x44]
call fcn.004b817c
add esp, 4
mov edx, 0x5382b4
lea ecx, [esp + 0x44]
call fcn.00433ad0
mov ecx, dword [esp + 0x30]
and ecx, 0xffffff04
mov esi, eax
mov eax, dword [0x538390]
or ecx, 0x104
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0
test al, 1
jne 0x45f965
or eax, 1
push 0x4e75e0
mov dword [0x538390], eax
mov dword [0x538314], 0x51fae8
call fcn.004b8949
add esp, 4
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x45f970
mov esi, dword [esi]
mov ecx, dword [0x534374]
push edx
mov eax, dword [ecx]
push esi
call dword [eax + 0xc]
push ecx
push 0x521148
lea ecx, [esp + 0x68]
mov dword [esp + 0x30], eax
call fcn.0044d470
mov esi, eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x28], 0
call fcn.0044c840
movsx ecx, byte [esi + 8]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
xor ecx, ebx
mov byte [esi + 8], bl
mov edx, dword [esi + 4]
and ecx, 0xff
xor ebx, ecx
mov ecx, dword [esi]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, ecx
shl edx, 8
xor eax, ebx
xor edx, ebx
and eax, 0x100
and edx, 0x100
xor eax, ecx
xor ebx, edx
lea ecx, [esp + 0x18]
mov dword [esi + 8], eax
mov dword [esp + 0x20], ebx
call fcn.0044c9c0
lea ecx, [esp + 0x28]
call fcn.0044c9c0
cmp dword [esp + 0x58], 0x10
jb 0x45fa26
push dword [esp + 0x44]
call fcn.004b817c
add esp, 4
mov edx, 0x5382bc
lea ecx, [esp + 0x44]
call fcn.00433ad0
mov ecx, dword [esp + 0x30]
and ecx, 0xffffff04
mov esi, eax
mov eax, dword [0x538390]
or ecx, 0x104
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0
test al, 1
jne 0x45fa7a
or eax, 1
push 0x4e75e0
mov dword [0x538390], eax
mov dword [0x538314], 0x51fae8
call fcn.004b8949
add esp, 4
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x45fa85
mov esi, dword [esi]
mov ecx, dword [0x534374]
push edx
mov eax, dword [ecx]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
push ecx
push str.osver
lea ecx, [esp + 0x6c]
call fcn.0044d470
mov ecx, eax
call fcn.0044ca80
lea ecx, [esp + 0x28]
call fcn.0044c9c0
cmp dword [esp + 0x58], 0x10
jb 0x45facd
push dword [esp + 0x44]
call fcn.004b817c
add esp, 4
mov edx, 0x5382cc
lea ecx, [esp + 0x44]
call fcn.00433ad0
mov ecx, dword [esp + 0x30]
and ecx, 0xffffff04
mov esi, eax
mov eax, dword [0x538390]
or ecx, 0x104
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0
test al, 1
jne 0x45fb21
or eax, 1
push 0x4e75e0
mov dword [0x538390], eax
mov dword [0x538314], 0x51fae8
call fcn.004b8949
add esp, 4
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x45fb2c
mov esi, dword [esi]
mov ecx, dword [0x534374]
push edx
mov eax, dword [ecx]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
push ecx
push 0x52115c
lea ecx, [esp + 0x6c]
call fcn.0044d470
mov ecx, eax
call fcn.0044ca80
lea ecx, [esp + 0x28]
call fcn.0044c9c0
cmp dword [esp + 0x58], 0x10
jb 0x45fb74
push dword [esp + 0x44]
call fcn.004b817c
add esp, 4
mov eax, dword [esp + 0x30]
and eax, 0xffffff01
or eax, 1
mov dword [esp + 0x30], eax
mov eax, dword [0x53755c]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
push ecx
push str.isStratup
lea ecx, [esp + 0x6c]
mov dword [esp + 0x40], 0
call fcn.0044d470
mov ecx, eax
call fcn.0044ca80
lea ecx, [esp + 0x28]
call fcn.0044c9c0
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x19c]
call fcn.0044ca80
push ecx
mov dword [0x53740c], 0x460280
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
lea ecx, [esp + 0xc8]
call fcn.0043dc80
test eax, eax
jne 0x45fbfa
lea ecx, [esp + 0x60]
call fcn.0044c9c0
jmp 0x45efe4
push 0x5382a4
lea ecx, [esp + 0xc4]
call fcn.0043d6e0
lea ecx, [esp + 0x74]
call fcn.00460780
mov ebx, eax
call fcn.00460630
push dword [esp + 0xac]
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
call fcn.00460510
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [esp + 0x60]
call fcn.0044c9c0
lea ecx, [esp + 0xc0]
call fcn.00439d00
mov edx, dword [esp + 0x40]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45fc65
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esp + 0x84]
test eax, eax
je 0x45fc84
push eax
call fcn.004b8988
add esp, 4
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x78]
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
test eax, eax
je 0x45fcab
push eax
call fcn.004b8988
add esp, 4
test ebx, ebx
je 0x45f0b7
jmp 0x45f056