Function at 0x44aeb0
Capabilities:
Check if file exists
Get common file path
Link many functions at runtime
Query or enumerate registry value
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x534e90
mov eax, dword fs:[0]
push eax
sub esp, 0x648
mov eax, dword [0x589644]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
push 0
mov dword [ebp - 0x644], ebx
mov dword [ebp - 0x64c], esi
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [ebp - 0x634]
mov dword [ebp - 0x634], 8
push eax
mov dword [ebp - 0x630], 4
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
push 0x54c920
push 0
call fcn.00506c3c
add esp, 8
mov ecx, 0x58de24
push 0
push ebx
push 0
call fcn.00446e60
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.004d7bd0
add esp, 0xc
lea eax, [ebp - 0x420]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0x54c924
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x44be36
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x638]
mov dword [ebp - 0x638], eax
lea eax, [ebp - 0x420]
push eax
call fcn.00411390
test al, al
jne 0x44afe2
lea ecx, [ebp - 0x420]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44afc0
sub ecx, edx
lea eax, [ebp - 0x420]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x638]
call fcn.00412460
lea eax, [ebp - 0x638]
mov ecx, 0x58ee98
push eax
call fcn.0045c6d0
mov edx, dword [ebp - 0x638]
or edi, 0xffffffff
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44b013
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push esi
call fcn.004364e0
mov ecx, eax
call fcn.004194d0
call fcn.004485f0
test eax, eax
jne 0x44b056
push str.illegal_call
call fcn.0045cb30
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b85ea
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [ebp - 0x654]
call fcn.0040a480
call fcn.00421370
mov ecx, eax
call fcn.004b4500
mov eax, dword [0x58dedc]
test al, 1
jne 0x44b095
or eax, 1
mov ecx, 0x58ded8
mov dword [0x58dedc], eax
call fcn.00443cc0
push 0x544e40
call fcn.004b85d5
add esp, 4
mov ecx, 0x58ded8
call fcn.00443d10
call fcn.004364e0
mov ecx, eax
call fcn.004195d0
push eax
call fcn.004345e0
mov ecx, 0x58de60
call fcn.0040afd0
test eax, eax
jne 0x44b0df
push str.CheckSingleInstance_failed__exit
call fcn.0045cb30
add esp, 4
push 0
push 0x54c9ac
push 0
call fcn.004345f0
jmp 0x44bca4
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x44be40
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x638]
push str._READYUNINSTALL
mov dword [ebp - 0x638], eax
call fcn.00411390
test al, al
jne 0x44b140
mov ecx, str._READYUNINSTALL
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44b120
sub ecx, edx
sar ecx, 1
push ecx
push str._READYUNINSTALL
lea ecx, [ebp - 0x638]
call fcn.00412460
mov byte [ebp - 0x629], 0
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 0
push eax
call fcn.00478ed3
lea eax, [ebp - 0x634]
mov dword [ebp - 0x640], eax
lea eax, [ebp - 0x629]
mov dword [ebp - 0x63c], eax
lea eax, [ebp - 0x640]
push eax
push 0x42fc60
push 0x58d040
call fcn.004798cc
add esp, 0x10
test eax, eax
je 0x44be2a
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 1
push eax
call fcn.00478f0d
mov ecx, dword [0x58d03c]
lea eax, [ebp - 0x638]
add esp, 4
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.004193c0
mov edx, dword [ebp - 0x638]
test eax, eax
mov eax, edi
sete bl
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44b1e4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test bl, bl
je 0x44b208
call fcn.00446f80
push esi
call fcn.00447120
add esp, 4
test eax, eax
jne 0x44bca4
call fcn.00448de0
jmp 0x44bca4
lea eax, [ebp - 0x630]
mov dword [ebp - 0x638], 1
push eax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x630], 0x104
push eax
lea eax, [ebp - 0x638]
push eax
push str.path
lea ecx, [ebp - 0x629]
call fcn.00445760
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x44bc50
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [ebp - 0x218]
push eax
call esi
test eax, eax
je 0x44bc50
call fcn.0044f950
lea edx, [ebp - 0x218]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
lea ecx, [ebp - 0x629]
call fcn.00445a70
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x218]
push eax
call fcn.004171b0
mov ecx, eax
call fcn.00412310
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004d7bd0
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x44be4a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x638]
push 0x54c9d8
mov dword [ebp - 0x638], eax
call fcn.00411390
test al, al
jne 0x44b331
push 2
push 0x54c9d8
lea ecx, [ebp - 0x638]
call fcn.00412460
mov byte [ebp - 0x629], 0
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 4
push eax
call fcn.00478ed3
lea eax, [ebp - 0x634]
mov dword [ebp - 0x640], eax
lea eax, [ebp - 0x629]
mov dword [ebp - 0x63c], eax
lea eax, [ebp - 0x640]
push eax
push 0x42fc60
push 0x58d040
call fcn.004798cc
add esp, 0x10
test eax, eax
je 0x44bc47
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 5
push eax
call fcn.00478f0d
mov ecx, dword [0x58d03c]
lea eax, [ebp - 0x638]
add esp, 4
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.004193c0
mov edx, dword [ebp - 0x638]
mov ebx, eax
add edx, 0xfffffff0
mov ecx, edi
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x44b3d2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test ebx, ebx
je 0x44b407
lea ecx, [ebp - 0x650]
call fcn.0043f100
lea ecx, [ebp - 0x650]
call fcn.00443590
lea ecx, [ebp - 0x650]
call fcn.00443490
lea ecx, [ebp - 0x650]
call fcn.0043f2f0
jmp 0x44baf5
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004d7bd0
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov eax, dword [0x58e3cc]
test al, 1
jne 0x44b459
or eax, 1
mov dword [0x58e3c8], 0
mov dword [0x58e3cc], eax
mov byte [ebp - 0x629], 0
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 8
push eax
call fcn.00478ed3
lea eax, [ebp - 0x634]
mov dword [ebp - 0x640], eax
lea eax, [ebp - 0x629]
mov dword [ebp - 0x63c], eax
lea eax, [ebp - 0x640]
push eax
push 0x444ca0
push 0x58e3c8
call fcn.004798cc
add esp, 0x10
test eax, eax
je 0x44bc3e
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 9
push eax
call fcn.00478f0d
mov ebx, dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x218]
add esp, 4
push 0x58e3d0
push eax
call ebx
lea eax, [ebp - 0x218]
push eax
call esi
test eax, eax
jne 0x44b586
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov eax, dword [0x58e3ec]
test al, 1
jne 0x44b50f
or eax, 1
mov dword [0x58e3e8], 0
mov dword [0x58e3ec], eax
mov byte [ebp - 0x629], 0
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 0xc
push eax
call fcn.00478ed3
lea eax, [ebp - 0x634]
mov dword [ebp - 0x640], eax
lea eax, [ebp - 0x629]
mov dword [ebp - 0x63c], eax
lea eax, [ebp - 0x640]
push eax
push 0x444690
push 0x58e3e8
call fcn.004798cc
add esp, 0x10
test eax, eax
je 0x44b7eb
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 0xd
push eax
call fcn.00478f0d
add esp, 4
lea eax, [ebp - 0x218]
push 0x58e3f0
push eax
call ebx
mov byte [ebp - 0x629], 0
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 0x10
push eax
call fcn.00478ed3
lea eax, [ebp - 0x634]
mov dword [ebp - 0x640], eax
lea eax, [ebp - 0x629]
mov dword [ebp - 0x63c], eax
lea eax, [ebp - 0x640]
push eax
push 0x41ebc0
push 0x58cfdc
call fcn.004798cc
add esp, 0x10
test eax, eax
je 0x44bc35
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 0x11
push eax
call fcn.00478f0d
mov ebx, dword [0x58cfd8]
lea eax, [ebp - 0x218]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00475130
add esp, 8
test eax, eax
je 0x44b671
cmp dword [ebx], 0
jne 0x44b671
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebx], eax
test eax, eax
je 0x44b671
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.HttpInit
push eax
call esi
push str.HttpUninit
push dword [ebx]
mov dword [ebx + 4], eax
call esi
push str.zlib_uncompress
push dword [ebx]
mov dword [ebx + 8], eax
call esi
push str.zlib_compress
push dword [ebx]
mov dword [ebx + 0x10], eax
call esi
push str.zlib_compressBound
push dword [ebx]
mov dword [ebx + 0x14], eax
call esi
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 4]
test eax, eax
je 0x44b671
call eax
mov dword [ebx + 0xc], eax
mov byte [ebp - 0x629], 0
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 0x14
push eax
call fcn.00478ed3
lea eax, [ebp - 0x634]
mov dword [ebp - 0x640], eax
lea eax, [ebp - 0x629]
mov dword [ebp - 0x63c], eax
lea eax, [ebp - 0x640]
push eax
push 0x42f900
push 0x58d058
call fcn.004798cc
add esp, 0x10
test eax, eax
je 0x44bc2c
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 0x15
push eax
call fcn.00478f0d
mov ecx, dword [0x58d054]
add esp, 4
mov dword [ebp - 4], 0xffffffff
call fcn.0044cb90
call fcn.00446f80
sub esp, 0x28
mov byte [ebp - 0x629], 0
mov eax, esp
mov dword [eax + 0x24], 0
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 0x18
push eax
call fcn.00478ed3
lea eax, [ebp - 0x634]
mov dword [ebp - 0x640], eax
lea eax, [ebp - 0x629]
mov dword [ebp - 0x63c], eax
lea eax, [ebp - 0x640]
push eax
push 0x416420
push 0x58cdd8
call fcn.004798cc
add esp, 0x10
test eax, eax
je 0x44bbf7
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 0x19
push eax
call fcn.00478f0d
mov ecx, dword [0x58cdd4]
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0
push 0
push str.uninstall_1
call fcn.00411f00
call fcn.0044f950
mov esi, eax
push esi
mov ecx, dword [esi]
call dword [ecx]
mov ebx, eax
test ebx, ebx
je 0x44b870
push ebx
push str.pre_init_check_failed__ret___d
call fcn.0045cb30
lea eax, [ebp - 0x630]
push ebx
push eax
call fcn.00446c80
add esp, 0x10
push 0
push dword [eax]
push 0
call fcn.004345f0
mov edx, dword [ebp - 0x630]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44b7da
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x44be54
jmp 0x44b815
lea eax, [ebp - 0x634]
mov dword [ebp - 4], 0xe
push eax
call fcn.00478f4f
add esp, 4
mov dword [ebp - 4], 0xffffffff
test al, al
je 0x44be74
jmp 0x44be5e
mov eax, dword [ecx]
call dword [eax + 0xc]
push ebx
add eax, 0x10
push str.720260B5_154E_483f_A485_0B46C3D6C50D
mov dword [ebp - 0x630], eax
lea eax, [ebp - 0x630]
push str._sPreInitCheck:_d
push eax
call fcn.00413040
mov esi, dword [ebp - 0x630]
sub esp, 0x18
mov eax, esp
push 0
push esi
push str.unist_init_fail
mov dword [eax + 0x24], 0
call fcn.004171b0
mov ecx, eax
call fcn.00411f00
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x44bc8f
mov eax, dword [esi]
push str.bizhi.ldsprj
push str.SETUPCONFIG
push 0xd1
push dword [ebp - 0x644]
push esi
call dword [eax + 4]
test eax, eax
jne 0x44b90a
push str.init_config_failed__exit
call fcn.0045cb30
add esp, 4
call fcn.00448de0
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x44be79
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
push str.720260B5_154E_483f_A485_0B46C3D6C50D
mov dword [ebp - 0x630], eax
lea eax, [ebp - 0x630]
push str._sInitConfigFaile
push eax
call fcn.00413040
mov esi, dword [ebp - 0x630]
sub esp, 0x1c
mov eax, esp
push 0
push esi
push str.unist_init_fail
mov dword [eax + 0x24], 0
call fcn.004171b0
mov ecx, eax
call fcn.00411f00
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x44bc8f
mov byte [ebp - 0x629], 0
lea eax, [ebp - 0x648]
mov dword [ebp - 4], 0x1c
push eax
call fcn.00478ed3
lea eax, [ebp - 0x648]
mov dword [ebp - 0x640], eax
lea eax, [ebp - 0x629]
mov dword [ebp - 0x63c], eax
lea eax, [ebp - 0x640]
push eax
push 0x42fc60
push 0x58d040
call fcn.004798cc
add esp, 0x10
test eax, eax
je 0x44bbee
lea eax, [ebp - 0x648]
mov dword [ebp - 4], 0x1d
push eax
call fcn.00478f0d
mov ecx, dword [0x58d03c]
add esp, 4
mov dword [ebp - 4], 0xffffffff
call fcn.004195d0
test eax, eax
je 0x44bae4
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x44be83
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x630]
push str.silent_uninstall
mov dword [ebp - 0x630], eax
call fcn.00411390
test al, al
jne 0x44b9d0
push 0x10
push str.silent_uninstall
lea ecx, [ebp - 0x630]
call fcn.00412460
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x44be8d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x638]
push str.bizhi
mov dword [ebp - 0x638], eax
call fcn.00411390
test al, al
jne 0x44ba13
push 5
push str.bizhi
lea ecx, [ebp - 0x638]
call fcn.00412460
sub esp, 0x28
mov byte [ebp - 0x629], 0
mov eax, esp
mov dword [eax + 0x24], 0
lea eax, [ebp - 0x648]
mov dword [ebp - 4], 0x20
push eax
call fcn.00478ed3
lea eax, [ebp - 0x648]
mov dword [ebp - 0x640], eax
lea eax, [ebp - 0x629]
mov dword [ebp - 0x63c], eax
lea eax, [ebp - 0x640]
push eax
push 0x416420
push 0x58cdd8
call fcn.004798cc
add esp, 0x10
test eax, eax
je 0x44bbbb
lea eax, [ebp - 0x648]
mov dword [ebp - 4], 0x21
push eax
call fcn.00478f0d
mov ecx, dword [0x58cdd4]
lea eax, [ebp - 0x630]
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0
push 0
push eax
lea eax, [ebp - 0x638]
push eax
call fcn.00411fd0
mov edx, dword [ebp - 0x638]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44bac9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x630]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x44bae4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp + 0x14]
push dword [ebp - 0x64c]
call fcn.0044a070
add esp, 8
mov byte [ebp - 0x629], 0
lea eax, [ebp - 0x648]
mov dword [ebp - 4], 0x24
push eax
call fcn.00478ed3
lea eax, [ebp - 0x648]
mov dword [ebp - 0x640], eax
lea eax, [ebp - 0x629]
mov dword [ebp - 0x63c], eax
lea eax, [ebp - 0x640]
push eax
push 0x42f900
push 0x58d058
call fcn.004798cc
add esp, 0x10
test eax, eax
je 0x44bbe5
lea eax, [ebp - 0x648]
mov dword [ebp - 4], 0x25
push eax
call fcn.00478f0d
mov ecx, dword [0x58d054]
add esp, 4
mov dword [ebp - 4], 0xffffffff
call fcn.0044d570
push 0x208
lea eax, [ebp - 0x628]
push 0
push eax
call fcn.004d7bd0
add esp, 0xc
lea eax, [ebp - 0x628]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x628]
push eax
call fcn.00457290
add esp, 4
jmp 0x44bca4
mov dword [ebp - 4], 0x22
lea eax, [ebp - 0x648]
push eax
call fcn.00478f4f
add esp, 4
mov dword [ebp - 4], 0xffffffff
test al, al
jne 0x44be97
jmp 0x44be74
mov dword [ebp - 4], 0x26
jmp 0x44bbc2
mov dword [ebp - 4], 0x1e
jmp 0x44bbc2
mov dword [ebp - 4], 0x1a
lea eax, [ebp - 0x634]
push eax
call fcn.00478f4f
add esp, 4
mov dword [ebp - 4], 0xffffffff
test al, al
je 0x44be74
sub esp, 8
lea eax, [ebp - 0x634]
mov ecx, esp
jmp 0x44bea2
mov dword [ebp - 4], 0x16
jmp 0x44bbfe
mov dword [ebp - 4], 0x12
jmp 0x44bbfe
mov dword [ebp - 4], 0xa
jmp 0x44bbfe
mov dword [ebp - 4], 6
jmp 0x44bbfe
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x44bead
mov eax, dword [ecx]
call dword [eax + 0xc]
push 0x16
add eax, 0x10
lea ecx, [ebp - 0x630]
push 0x54c7e8
mov dword [ebp - 0x630], eax
call fcn.00412460
mov esi, dword [ebp - 0x630]
push 0
push esi
push 0
call fcn.004345f0
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x44bca4
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, 0x58de60
call fcn.0040b620
mov eax, dword [0x58dedc]
test al, 1
jne 0x44bcd6
or eax, 1
mov ecx, 0x58ded8
mov dword [0x58dedc], eax
call fcn.00443cc0
push 0x544e40
call fcn.004b85d5
add esp, 4
mov ecx, 0x58ded8
call fcn.004441b0
call fcn.00421370
mov ecx, eax
call fcn.004b46b0
mov edi, dword [0x58dda8]
add edi, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x58de5c]
test esi, esi
je 0x44bd4e
cmp dword [esi + 4], 0
jle 0x44bd1c
mov eax, dword [esi]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [0x58de5c]
test esi, esi
je 0x44bd4e
mov eax, dword [esi]
test eax, eax
je 0x44bd35
push eax
call fcn.005029f8
add esp, 4
mov dword [esi], 0
push 0xc
push esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.004b81da
add esp, 8
push edi
mov dword [0x58de5c], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x58de58]
test esi, esi
je 0x44bda7
mov eax, dword [esi]
test eax, eax
je 0x44bd7e
push eax
call fcn.005029f8
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x44bd95
push eax
call fcn.005029f8
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
mov dword [esi + 8], 0
call fcn.004b81da
add esp, 8
mov esi, dword [0x58de50]
test esi, esi
je 0x44bdd9
cmp dword [esi], 0
je 0x44bdd9
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x44bdc3
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esi + 0x20]
push 0
mov dword [esi + 0x10], 0
call eax
add esi, 0x24
cmp dword [esi], 0
jne 0x44bdb6
mov esi, dword [0x58812c]
mov ecx, dword [0x588130]
cmp esi, ecx
jae 0x44be0a
nop dword [eax]
mov eax, dword [esi]
test eax, eax
je 0x44be03
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x588130]
add esi, 4
cmp esi, ecx
jb 0x44bdf0
mov ecx, 0x58de24
call fcn.0044a530
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x654]
call fcn.0040a4c0
jmp 0x44b036
mov dword [ebp - 4], 2
jmp 0x44bbfe
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
sub esp, 8
lea eax, [ebp - 0x634]
mov ecx, esp
push eax
call fcn.0040aa30
call fcn.0040b760
call fcn.0047999d
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
sub esp, 8
lea eax, [ebp - 0x648]
mov ecx, esp
push eax
call fcn.0040aa30
call fcn.0040b760
push 0x80004005
call fcn.00408f30
int3