Function at 0x44bd49
Capabilities:
Check os version

Disassembly:
mov eax, 0x4b6884
call fcn.0049dfc4
sub esp, 0x180
push ebx
mov ebx, ecx
push esi
xor esi, esi
push edi
lea ecx, [ebx + 0xa0]
mov dword [ebp - 0x40], ebx
mov dword [ebx + 0x9c], esi
call fcn.00406afc
mov dword [ebx + 8], 0x4c0e1c
mov dword [ebx + 0xc], 0x4bfc90
mov dword [ebx + 0x10], 0x4c0e00
mov dword [ebx + 0x14], 0x4bf6bc
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x1c], esi
mov dword [ebp - 4], esi
mov dword [ebx + 0x18], 0x4c0de0
mov eax, 0xfefefefe
lea edi, [ebx + 0x2c]
mov esi, 0x4be670
mov dword [ebx + 0x50], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x3c]
mov esi, 0x4be650
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov word [ebx + 0x4c], 1
mov word [ebx + 0x4e], cx
lea edi, [ebx + 0x58]
mov esi, 0x4bf2a8
mov dword [ebx + 0x7c], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x68]
mov esi, 0x4befa8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov word [ebx + 0x78], 1
mov word [ebx + 0x7a], cx
lea eax, [ebx + 0x90]
mov dword [ebx + 0x80], 0x4bfcb8
mov dword [ebx + 0x84], 0x4bfcb4
mov dword [eax + 8], ecx
mov dword [eax + 4], ecx
mov dword [eax], 0x4c0dc0
mov edi, 0x4f1ef8
lea ecx, [ebx + 0x2bc]
push edi
mov dword [ebx + 0x2b8], 0x409
call fcn.00411399
xor esi, esi
mov dword [ebx + 0x2cc], esi
mov dword [ebx + 0x2d0], esi
lea ecx, [ebx + 0x2e0]
mov byte [ebp - 4], 5
mov dword [ebx + 0x2d4], esi
mov dword [ebx + 0x2d8], esi
call fcn.0044c159
lea eax, [ebx + 0x388]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea eax, [ebx + 0x3a0]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea eax, [ebx + 0x3b8]
mov dword [eax + 0xc], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax], vtable._zstring_class_ztraits_0__.0
lea ecx, [ebx + 0x3c8]
mov byte [ebp - 4], 9
call fcn.004228bb
mov ecx, ebx
lea eax, [ebx + 0xc]
neg ecx
sbb ecx, ecx
mov dword [ebx + 0x3ec], 1
and ecx, eax
lea eax, [ebx + 0x3c8]
mov dword [eax + 0x20], ecx
mov dword [eax], 0x4bfc84
mov dword [ebx + 0x3f0], esi
mov dword [ebx + 0x3f4], esi
mov dword [ebx + 0x3f8], esi
and byte [ebx + 0x400], 0
and byte [ebx + 0x401], 0
and byte [ebx + 0x402], 0
and byte [ebx + 0x403], 0
push edi
lea ecx, [ebx + 0x41c]
mov dword [ebx + 0x3fc], 0xa
mov dword [ebx + 0x40c], esi
mov byte [ebx + 0x410], 1
mov dword [ebx + 0x414], esi
call fcn.00411399
push edi
lea ecx, [ebx + 0x430]
mov dword [ebx + 0x42c], esi
call fcn.00411399
push edi
lea ecx, [ebx + 0x440]
call fcn.00411399
push edi
lea ecx, [ebx + 0x450]
call fcn.00411399
mov dword [ebx + 0x464], esi
mov dword [ebx + 0x468], esi
mov dword [ebx + 0x46c], esi
mov dword [ebx + 0x470], esi
mov dword [ebx + 0x474], esi
and byte [ebx + 0x488], 0
and byte [ebx + 0x489], 0
and byte [ebx + 0x48a], 0
lea ecx, [ebx + 0x498]
mov byte [ebp - 4], 0x15
mov dword [ebx + 0x478], esi
mov dword [ebx + 0x47c], esi
mov dword [ebx + 0x480], esi
mov dword [ebx + 0x484], esi
mov dword [ebx + 0x48c], esi
mov dword [ebx + 0x490], esi
mov byte [ebx + 0x494], 1
call fcn.0041abdd
and byte [ebx + 0x4d8], 0
and byte [ebx + 0x4d9], 0
lea eax, [ebx + 0x4dc]
mov dword [eax + 0xc], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov edi, vtable._zstring_class_ztraits_0__.0
mov dword [eax], edi
and byte [ebx + 0x4ec], 0
and byte [ebx + 0x4ee], 0
and byte [ebx + 0x4ef], 0
cmp dword [0x4e75f8], esi
mov byte [ebp - 4], 0x17
jne 0x44bff6
mov dword [0x4e75f8], esi
lea eax, [ebx + 0x3e4]
push eax
push 0x4e75c8
push 0x4f1f38
call fcn.00419c6b
push esi
push eax
push esi
push esi
push SysReAllocStringLen
push esi
push 0x4e5280
push esi
lea ecx, [ebx + 0x3c8]
call fcn.004243e6
push esi
push esi
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventA]
push 0x4e5450
mov dword [ebx + 0x418], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], edi
lea eax, [ebp - 0x1c]
push esi
push eax
lea eax, [ebx + 0xdc]
push eax
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x18
call fcn.0043022e
lea ecx, [ebp - 0x1c]
call fcn.004012b4
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x3c], edi
mov eax, dword [0x4f1ed0]
push 0x7d7
lea ecx, [ebp - 0x30]
push dword [eax + 8]
call fcn.00401b9f
push 0x4e5444
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], edi
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 0x1d
call fcn.004310c0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x1c
call fcn.004012b4
push 0x4e9758
lea ecx, [ebp - 0x2c]
call fcn.004162e3
test al, al
je 0x44c0f5
and byte [ebx + 0x494], 0
push 0x24
xor eax, eax
pop ecx
lea edi, [ebp - 0xd0]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xd4]
mov dword [ebp - 0xd4], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0xd0], 5
lea ecx, [ebp - 0x3c]
seta al
mov byte [ebx + 0x4ed], al
call fcn.004012b4
lea ecx, [ebp - 0x2c]
call fcn.004012b4
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x17
call fcn.00430b52
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, ebx
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret