Function at 0x4253f0
Capabilities:
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5da322
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x6c0fe4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
call fcn.004754d7
mov dword [ebp - 4], 0
mov dword [edi], vtable.CDLMain.0
mov dword [edi + 0xa8], 0
mov dword [edi + 0xac], 0
push 8
mov dword [edi + 0xc8], vtable.GSStringArray.0
mov dword [edi + 0xd0], 0
mov dword [edi + 0xd4], 2
call fcn.005bae81
mov dword [edi + 0xcc], eax
push 8
mov dword [edi + 0xd8], vtable.GSStringArray.0
mov dword [edi + 0xe0], 0
mov dword [edi + 0xe4], 2
call fcn.005bae81
mov dword [edi + 0xdc], eax
push 8
mov dword [edi + 0xe8], vtable.GSStringArray.0
mov dword [edi + 0xf0], 0
mov dword [edi + 0xf4], 2
call fcn.005bae81
mov dword [edi + 0xec], eax
push 8
mov dword [edi + 0xf8], vtable.GSStringArray.0
mov dword [edi + 0x100], 0
mov dword [edi + 0x104], 2
call fcn.005bae81
mov dword [edi + 0xfc], eax
push 8
mov dword [edi + method.GSStringArray.virtual_0], vtable.GSStringArray.0
mov dword [edi + 0x110], 0
mov dword [edi + 0x114], 2
call fcn.005bae81
mov dword [edi + 0x10c], eax
push 8
mov dword [edi + 0x118], vtable.GSStringArray.0
mov dword [edi + 0x120], 0
mov dword [edi + 0x124], 2
call fcn.005bae81
mov dword [edi + 0x11c], eax
push 8
mov dword [edi + method.GSStringArray.virtual_0], vtable.GSStringArray.0
mov dword [edi + 0x130], 0
mov dword [edi + 0x134], 2
call fcn.005bae81
mov dword [edi + 0x12c], eax
push 8
mov dword [edi + method.GSStringArray.virtual_0], vtable.GSStringArray.0
mov dword [edi + 0x140], 0
mov dword [edi + 0x144], 2
call fcn.005bae81
mov dword [edi + 0x13c], eax
push 8
mov dword [edi + method.GSStringArray.virtual_0], vtable.GSStringArray.0
mov dword [edi + 0x150], 0
mov dword [edi + 0x154], 2
call fcn.005bae81
mov dword [edi + 0x14c], eax
push 8
mov dword [edi + method.GSStringArray.virtual_0], vtable.GSStringArray.0
mov dword [edi + 0x160], 0
mov dword [edi + 0x164], 2
call fcn.005bae81
mov dword [edi + 0x15c], eax
push 8
mov dword [edi + method.GSStringArray.virtual_0], vtable.GSStringArray.0
mov dword [edi + 0x170], 0
mov dword [edi + 0x174], 2
call fcn.005bae81
mov dword [edi + 0x16c], eax
push 8
mov dword [edi + method.GSStringArray.virtual_0], vtable.GSStringArray.0
mov dword [edi + 0x180], 0
mov dword [edi + 0x184], 2
call fcn.005bae81
add esp, 0x30
mov dword [edi + 0x17c], eax
mov dword [edi + method.CMenu.virtual_0], vtable.CMenu.0
mov dword [edi + 0x190], 0
mov dword [edi + method.CMenu.virtual_0], vtable.CMenu.0
mov dword [edi + 0x198], 0
lea esi, [edi + 0x1a0]
mov byte [ebp - 4], 0xe
mov ecx, esi
mov dword [ebp - 0x10], esi
call fcn.004754d7
mov dword [esi], vtable.DLFileList.0
lea esi, [edi + 0x220]
mov byte [ebp - 4], 0xf
mov ecx, esi
mov dword [ebp - 0x10], esi
call fcn.004754d7
mov dword [esi], vtable.CMyListCtrl.0
mov dword [esi + 0x80], 0
mov dword [esi + 0x84], 0
mov dword [esi + 0x88], 0
mov dword [edi + 0x2b0], 0
mov dword [edi + 0x2b4], 0
mov dword [edi + 0x2b8], 0
lea ecx, [edi + 0x2c0]
mov byte [ebp - 4], 0x11
call fcn.00440b30
lea esi, [edi + 0x510]
mov byte [ebp - 4], 0x12
mov ecx, esi
mov dword [ebp - 0x10], esi
call fcn.004754d7
mov dword [esi], vtable.CProgressCtrl.0
mov dword [edi + 0x594], 0
mov dword [edi + 0x590], 0x5f0294
lea esi, [edi + 0x5f8]
mov byte [ebp - 4], 0x14
mov ecx, esi
mov dword [ebp - 0x10], esi
call fcn.004754d7
mov dword [esi], vtable.CStatic.0
lea esi, [edi + 0x678]
mov byte [ebp - 4], 0x15
mov ecx, esi
mov dword [ebp - 0x10], esi
call fcn.004754d7
mov dword [esi], vtable.CStatic.0
lea ecx, [edi + 0x6f8]
mov byte [ebp - 4], 0x16
call fcn.00402ad0
lea esi, [edi + 0x908]
mov byte [ebp - 4], 0x17
mov ecx, esi
mov dword [ebp - 0x10], esi
call fcn.004754d7
mov dword [esi], vtable.DLLogInf.0
mov dword [esi + 0x80], 0
mov dword [esi + 0x84], 0
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x80], 0xa
mov dword [esi + 0x8c], 0xa
mov dword [esi + 0x88], 0xa
mov dword [esi + 0x84], 0xa
lea esi, [edi + 0x998]
mov byte [ebp - 4], 0x18
mov ecx, esi
mov dword [ebp - 0x10], esi
call fcn.004754d7
mov dword [esi], vtable.DLLogStatsticsWnd.0
mov dword [esi + 0x80], 0
mov dword [esi + 0x84], 0
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x80], 0xa
mov dword [esi + 0x8c], 0xa
mov dword [esi + 0x88], 0xa
mov dword [esi + 0x84], 0xa
lea ecx, [edi + 0xa28]
mov byte [ebp - 4], 0x19
call fcn.0046a110
lea ebx, [edi + 0xcc0]
mov byte [ebp - 4], 0x1a
mov ecx, ebx
mov dword [ebp - 0x10], ebx
call fcn.0048aabb
lea esi, [ebx + 0xf0]
mov byte [ebp - 4], 0x1b
mov ecx, esi
mov dword [ebx], vtable.DLToolBar.0
mov dword [ebp - 0x18], esi
call fcn.004754d7
mov dword [esi], vtable.CStatic.0
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x4263eb
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebx + 0x180], eax
push fcn.00472400
push 0x472360
push 0xa
push 0x10
lea eax, [edi + 0xe48]
mov byte [ebp - 4], 0x1c
push eax
call fcn.005b0957
mov byte [ebp - 4], 0x1d
mov dword [edi + 0xf4c], 0
mov dword [edi + 0xf50], 0
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x4263eb
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0xf5c], eax
mov byte [ebp - 4], 0x1e
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x4263eb
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0xf60], eax
mov byte [ebp - 4], 0x1f
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x4263eb
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0xf64], eax
lea esi, [edi + 0xfe0]
mov byte [ebp - 4], 0x20
mov ecx, esi
mov dword [edi + 0xfdc], 0
mov dword [ebp - 0x18], esi
call fcn.004754d7
mov dword [esi], vtable.DLTabWnd.0
lea ebx, [edi + 0x1060]
mov byte [ebp - 4], 0x21
mov ecx, ebx
mov dword [ebp - 0x18], ebx
call fcn.004754d7
lea esi, [ebx + 0x80]
mov byte [ebp - 4], 0x22
mov ecx, esi
mov dword [ebx], vtable.CLogTag.0
mov dword [ebp - 0x10], esi
call fcn.004754d7
mov dword [esi], vtable.DLEdit.0
lea esi, [ebx + 0x100]
mov byte [ebp - 4], 0x23
mov ecx, esi
mov dword [ebp - 0x10], esi
call fcn.004754d7
mov dword [esi], vtable.DLEdit.0
mov byte [ebp - 4], 0x24
lea esi, [ebx + 0x180]
mov dword [ebp - 0x10], esi
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x4263f5
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov eax, 0x620488
mov byte [ebp - 4], 0x25
mov ecx, esi
test eax, 0xffff0000
jne 0x4259e0
movzx eax, ax
push eax
call fcn.0040c0b0
jmp 0x4259ec
push 0
push 0x620488
call fcn.0040c5e0
mov dword [ebx + 0x184], 0
mov dword [ebx + 0x188], 0
mov dword [ebx + 0x18c], 0
mov dword [ebx + 0x190], 0
mov byte [ebp - 4], 0x26
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push str.Data_Logger_Report
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je 0x425a99
mov eax, dword [edi + 0xd4]
cmp dword [edi + 0xd0], eax
jne 0x425a7c
lea eax, [eax*4 + 8]
push eax
push dword [edi + 0xcc]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x425a99
add dword [edi + 0xd4], 2
mov edx, dword [ebp - 0x10]
mov dword [edi + 0xcc], eax
mov ecx, dword [edi + 0xd0]
mov eax, dword [edi + 0xcc]
push str.Data_Logger_Report
push edx
mov dword [eax + ecx*4], edx
call esi
inc dword [edi + 0xd0]
push 0x692580
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je 0x425b0e
mov ecx, dword [edi + 0xd4]
cmp dword [edi + 0xd0], ecx
jne 0x425af1
lea ecx, [ecx*4 + 8]
push ecx
push dword [edi + 0xcc]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x425b0e
add dword [edi + 0xd4], 2
mov edx, dword [ebp - 0x10]
mov dword [edi + 0xcc], eax
mov ecx, dword [edi + 0xd0]
mov eax, dword [edi + 0xcc]
push 0x692580
push edx
mov dword [eax + ecx*4], edx
call esi
inc dword [edi + 0xd0]
push str.Logged_File:
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je 0x425b83
mov ecx, dword [edi + 0xe4]
cmp dword [edi + 0xe0], ecx
jne 0x425b66
lea ecx, [ecx*4 + 8]
push ecx
push dword [edi + 0xdc]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x425b83
add dword [edi + 0xe4], 2
mov edx, dword [ebp - 0x10]
mov dword [edi + 0xdc], eax
mov ecx, dword [edi + 0xe0]
mov eax, dword [edi + 0xdc]
push str.Logged_File:
push edx
mov dword [eax + ecx*4], edx
call esi
inc dword [edi + 0xe0]
push 0x6925a8
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je 0x425bf8
mov ecx, dword [edi + 0xe4]
cmp dword [edi + 0xe0], ecx
jne 0x425bdb
lea ecx, [ecx*4 + 8]
push ecx
push dword [edi + 0xdc]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x425bf8
add dword [edi + 0xe4], 2
mov edx, dword [ebp - 0x10]
mov dword [edi + 0xdc], eax
mov ecx, dword [edi + 0xe0]
mov eax, dword [edi + 0xdc]
push 0x6925a8
push edx
mov dword [eax + ecx*4], edx
call esi
inc dword [edi + 0xe0]
push str.Log_Support
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je 0x425c6d
mov ecx, dword [edi + 0xf4]
cmp dword [edi + 0xf0], ecx
jne 0x425c50
lea ecx, [ecx*4 + 8]
push ecx
push dword [edi + 0xec]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x425c6d
add dword [edi + 0xf4], 2
mov edx, dword [ebp - 0x10]
mov dword [edi + 0xec], eax
mov ecx, dword [edi + 0xf0]
mov eax, dword [edi + 0xec]
push str.Log_Support
push edx
mov dword [eax + ecx*4], edx
call esi
inc dword [edi + 0xf0]
push 0x6925cc
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je 0x425ce2
mov ecx, dword [edi + 0xf4]
cmp dword [edi + 0xf0], ecx
jne 0x425cc5
lea ecx, [ecx*4 + 8]
push ecx
push dword [edi + 0xec]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x425ce2
add dword [edi + 0xf4], 2
mov edx, dword [ebp - 0x10]
mov dword [edi + 0xec], eax
mov ecx, dword [edi + 0xf0]
mov eax, dword [edi + 0xec]
push 0x6925cc
push edx
mov dword [eax + ecx*4], edx
call esi
inc dword [edi + 0xf0]
push str.Log_Setup
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je 0x425d57
mov ecx, dword [edi + 0x104]
cmp dword [edi + 0x100], ecx
jne 0x425d3a
lea ecx, [ecx*4 + 8]
push ecx
push dword [edi + 0xfc]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x425d57
add dword [edi + 0x104], 2
mov edx, dword [ebp - 0x10]
mov dword [edi + 0xfc], eax
mov ecx, dword [edi + 0x100]
mov eax, dword [edi + 0xfc]
push str.Log_Setup
push edx
mov dword [eax + ecx*4], edx
call esi
inc dword [edi + 0x100]
push 0x6925ec
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je 0x425dcc
mov ecx, dword [edi + 0x104]
cmp dword [edi + 0x100], ecx
jne 0x425daf
lea ecx, [ecx*4 + 8]
push ecx
push dword [edi + 0xfc]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x425dcc
add dword [edi + 0x104], 2
mov edx, dword [ebp - 0x10]
mov dword [edi + 0xfc], eax
mov ecx, dword [edi + 0x100]
mov eax, dword [edi + 0xfc]
push 0x6925ec
push edx
mov dword [eax + ecx*4], edx
call esi
inc dword [edi + 0x100]
push str.Log_Statistics
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je 0x425e41
mov ecx, dword [edi + 0x114]
cmp dword [edi + 0x110], ecx
jne 0x425e24
lea ecx, [ecx*4 + 8]
push ecx
push dword [edi + 0x10c]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x425e41
add dword [edi + 0x114], 2
mov edx, dword [ebp - 0x10]
mov dword [edi + 0x10c], eax
mov ecx, dword [edi + 0x110]
mov eax, dword [edi + 0x10c]
push str.Log_Statistics
push edx
mov dword [eax + ecx*4], edx
call esi
inc dword [edi + 0x110]
push 0x692618
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je 0x425eb6
mov ecx, dword [edi + 0x114]
cmp dword [edi + 0x110], ecx
jne 0x425e99
lea ecx, [ecx*4 + 8]
push ecx
push dword [edi + 0x10c]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x425eb6
add dword [edi + 0x114], 2
mov edx, dword [ebp - 0x10]
mov dword [edi + 0x10c], eax
mov ecx, dword [edi + 0x110]
mov eax, dword [edi + 0x10c]
push 0x692618
push edx
mov dword [eax + ecx*4], edx
call esi
inc dword [edi + 0x110]
push str.Log_Graph
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je 0x425f2b
mov ecx, dword [edi + 0x124]
cmp dword [edi + 0x120], ecx
jne 0x425f0e
lea ecx, [ecx*4 + 8]
push ecx
push dword [edi + 0x11c]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x425f2b
add dword [edi + 0x124], 2
mov edx, dword [ebp - 0x10]
mov dword [edi + 0x11c], eax
mov ecx, dword [edi + 0x120]
mov eax, dword [edi + 0x11c]
push str.Log_Graph
push edx
mov dword [eax + ecx*4], edx
call esi
inc dword [edi + 0x120]
push 0x692638
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je 0x425fa0
mov ecx, dword [edi + 0x124]
cmp dword [edi + 0x120], ecx
jne 0x425f83
lea ecx, [ecx*4 + 8]
push ecx
push dword [edi + 0x11c]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x425fa0
add dword [edi + 0x124], 2
mov edx, dword [ebp - 0x10]
mov dword [edi + 0x11c], eax
mov ecx, dword [edi + 0x120]
mov eax, dword [edi + 0x11c]
push 0x692638
push edx
mov dword [eax + ecx*4], edx
call esi
inc dword [edi + 0x120]
push str.Upload_Clouds
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov edx, eax
add esp, 4
mov dword [ebp - 0x10], edx
test edx, edx
je 0x426015
mov ecx, dword [edi + 0x134]
cmp dword [edi + 0x130], ecx
jne 0x425ff8
lea ecx, [ecx*4 + 8]
push ecx
push dword [edi + 0x12c]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x426015
add dword [edi + 0x134], 2
mov edx, dword [ebp - 0x10]
mov dword [edi + 0x12c], eax
mov ecx, dword [edi + 0x130]
mov eax, dword [edi + 0x12c]
push str.Upload_Clouds
push edx
mov dword [eax + ecx*4], edx
call esi
inc dword [edi + 0x130]
push 0x692660
call ebx
lea eax, [eax*2 + 2]
push eax
call fcn.005bae81
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x426084
mov ecx, dword [edi + 0x134]
cmp dword [edi + 0x130], ecx
jne 0x426067
lea ecx, [ecx*4 + 8]
push ecx
push dword [edi + 0x12c]
call fcn.005bab42
add esp, 8
test eax, eax
je 0x426084
add dword [edi + 0x134], 2
mov dword [edi + 0x12c], eax
mov ecx, dword [edi + 0x130]
mov eax, dword [edi + 0x12c]
push 0x692660
push ebx
mov dword [eax + ecx*4], ebx
call esi
inc dword [edi + 0x130]
mov esi, dword [sym.imp.USER32.dll_FindWindowW]
push str.STR
push 0
mov word [edi + 0xfd9], 0x101
mov byte [edi + 0xfd8], 1
mov word [edi + 0xc4], 0x100
mov byte [edi + 0xc7], 0
mov dword [edi + 0x88], 0xffffffff
mov word [edi + 0x8c], 0
mov dword [edi + 0xa0], 2
mov word [edi + 0x85], 0
mov dword [edi + 0x90], 1
call esi
push eax
call fcn.00477543
test eax, eax
jne 0x4263e3
push str.STRTOOLRECORD
push eax
call esi
push eax
call fcn.00477543
test eax, eax
jne 0x4263e3
push 0x18
call fcn.0047535e
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
test esi, esi
je 0x42614a
mov dword [esi], vtable.CHid.0
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x4263ff
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi + 0xc], eax
mov dword [esi + 8], 0
mov dword [esi + 0x10], 0
jmp 0x42614c
xor esi, esi
push 0x34
mov dword [edi + 0xb0], esi
call fcn.0047535e
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov ebx, dword [sym.imp.KERNEL32.dll_CreateEventW]
test esi, esi
je 0x4261b6
push 0x6999c4
push 1
push 0
push 0
mov dword [esi], vtable.CSessionMange.0
mov dword [esi + 0x28], 0
mov dword [esi + 0xc], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call ebx
push 0
push 1
push 0
push 0
mov dword [esi + 0x2c], eax
call ebx
mov dword [esi + 0x30], eax
lea eax, [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x4261b8
xor esi, esi
push 0xc
mov dword [edi + 0xb4], esi
call fcn.0047535e
mov ebx, eax
add esp, 4
mov dword [ebp - 0x18], ebx
mov byte [ebp - 4], 0x27
test ebx, ebx
je 0x426250
push 0x24
mov dword [ebx], vtable.CReportMange.0
call fcn.0047535e
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
test esi, esi
je 0x42620e
lea ecx, [esi + 0xc]
mov dword [esi], vtable.CReportPool.0
push ecx
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x426210
xor esi, esi
push 0x24
mov dword [ebx + 4], esi
call fcn.0047535e
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
test esi, esi
je 0x426249
lea ecx, [esi + 0xc]
mov dword [esi], vtable.CReportPool.0
push ecx
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [ebx + 8], esi
jmp 0x426252
xor esi, esi
mov dword [ebx + 8], esi
jmp 0x426252
xor ebx, ebx
mov byte [ebp - 4], 0x26
push 0x2c
mov dword [edi + 0xb8], ebx
call fcn.0047535e
mov ebx, eax
add esp, 4
mov dword [ebp - 0x18], ebx
test ebx, ebx
je 0x4262c9
mov esi, dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
push 0
push 0x1f4
push 0
push 0
mov dword [ebx], vtable.CHidThread.0
mov byte [ebx + 0x14], 0
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov dword [ebx + 0xc], 0
call esi
push 0
push 0x1f4
push 0
push 0
mov dword [ebx + 0x24], eax
call esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0
push 0
push 1
push 0
mov dword [ebx + 0x10], eax
call esi
mov dword [ebx + 0x28], eax
jmp 0x4262d1
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventW]
xor ebx, ebx
push 0xb50
mov dword [edi + 0xbc], ebx
call fcn.0047535e
add esp, 4
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x28
test eax, eax
je 0x4262f9
push ecx
mov ecx, eax
call fcn.0041c740
jmp 0x4262fb
xor eax, eax
push 0
push 0
push 0
push 0
mov dword [edi + 0xc0], eax
call esi
mov ecx, dword [edi + 0xb8]
mov dword [0x6e42c4], eax
mov eax, dword [edi + 0xb4]
mov dword [0x6e42bc], eax
mov eax, dword [edi + 0xbc]
mov dword [0x6e42b8], ecx
mov dword [0x6e42c0], eax
mov dword [0x6e42b4], edi
mov dword [eax + 8], ecx
mov ecx, dword [edi + 0xbc]
mov eax, dword [edi + 0xb4]
mov dword [ecx + 0xc], eax
mov ecx, dword [edi + 0xbc]
mov eax, dword [edi + 0xb0]
mov dword [ecx + 4], eax
mov ebx, dword [edi + 0xbc]
cmp byte [ebx + 0x14], 0
jne 0x4263c3
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push ebx
push 0x441fc0
push 0
push 0
mov byte [ebx + 0x14], 1
call esi
push 0
push 0
push ebx
push 0x4420b0
push 0
push 0
mov dword [ebx + 0x18], eax
call esi
push 0
push 0
push ebx
push 0x442340
push 0
push 0
mov dword [ebx + 0x1c], eax
call esi
mov esi, dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push 0xf
push dword [ebx + 0x18]
mov dword [ebx + 0x20], eax
call esi
push 0xf
push dword [ebx + 0x1c]
call esi
push 0xf
push dword [ebx + 0x20]
call esi
movzx eax, byte [edi + 0xc5]
mov dword [0x6c1a9c], eax
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x80004005
call fcn.004025a0
push 0x80004005
call fcn.004025a0
push 0x80004005
call fcn.004025a0
int3