Function at 0x48d4a0
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Get ntdll base address
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4fa1f9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x14], esi
call fcn.00442ee0
xor ebx, ebx
mov eax, 0xa
mov dword [esp + 0x28], ebx
mov dword [esi + 8], 0x5079ec
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], 0x5079d8
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], eax
mov al, byte [esp + 0x13]
mov dword [esi + 0x44], ebx
mov byte [esi + 0x40], al
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], ebx
mov cl, byte [esp + 0x13]
mov dword [esi + 0x54], ebx
mov byte [esi + 0x50], cl
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebx
mov dl, byte [esp + 0x13]
mov dword [esi + 0x64], ebx
mov byte [esi + 0x60], dl
mov dword [esi + 0x68], ebx
mov dword [esi + 0x6c], ebx
mov al, byte [esp + 0x13]
mov dword [esi + 0x74], ebx
mov byte [esi + 0x70], al
mov dword [esi + 0x78], ebx
mov dword [esi + 0x7c], ebx
mov cl, byte [esp + 0x13]
mov dword [esi + 0x84], ebx
mov byte [esi + 0x80], cl
mov dword [esi + 0x88], ebx
mov dword [esi + 0x8c], ebx
mov dl, byte [esp + 0x13]
mov dword [esi + 0x94], ebx
mov byte [esi + 0x90], dl
mov dword [esi + 0x98], ebx
mov dword [esi + 0x9c], ebx
mov al, byte [esp + 0x13]
mov dword [esi + 0xa4], ebx
mov byte [esi + 0xa0], al
mov dword [esi + 0xa8], ebx
mov dword [esi + 0xac], ebx
mov cl, byte [esp + 0x13]
mov dword [esi + 0xb4], ebx
mov byte [esi + 0xb0], cl
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], ebx
mov dl, byte [esp + 0x13]
mov dword [esi + 0xc4], ebx
mov byte [esi + 0xc0], dl
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xcc], ebx
mov al, byte [esp + 0x13]
mov dword [esi + 0xd4], ebx
mov byte [esi + 0xd0], al
mov dword [esi + 0xd8], ebx
mov dword [esi + 0xdc], ebx
mov cl, byte [esp + 0x13]
mov dword [esi + 0xe4], ebx
mov byte [esi + 0xe0], cl
mov dword [esi + 0xe8], ebx
mov dword [esi + 0xec], ebx
mov dl, byte [esp + 0x13]
mov dword [esi + 0xf4], ebx
mov byte [esi + 0xf0], dl
mov dword [esi + 0xf8], ebx
mov dword [esi + 0xfc], ebx
mov al, byte [esp + 0x13]
mov dword [esi + 0x104], ebx
mov byte [esi + 0x100], al
mov dword [esi + 0x108], ebx
mov dword [esi + 0x10c], ebx
mov cl, byte [esp + 0x13]
mov dword [esi + 0x114], ebx
mov byte [esi + 0x110], cl
mov dword [esi + 0x118], ebx
mov dword [esi + 0x11c], ebx
mov dl, byte [esp + 0x13]
mov dword [esi + 0x124], ebx
mov byte [esi + 0x120], dl
mov dword [esi + 0x128], ebx
mov dword [esi + 0x12c], ebx
mov al, byte [esp + 0x13]
mov dword [esi + 0x134], ebx
mov byte [esi + 0x130], al
mov dword [esi + 0x138], ebx
mov dword [esi + 0x13c], ebx
mov cl, byte [esp + 0x13]
mov dword [esi + 0x144], ebx
mov byte [esi + 0x140], cl
mov dword [esi + 0x148], ebx
mov dword [esi + 0x14c], ebx
mov dl, byte [esp + 0x13]
mov dword [esi + 0x154], ebx
mov byte [esi + 0x150], dl
mov dword [esi + 0x158], ebx
mov dword [esi + 0x15c], ebx
mov al, byte [esp + 0x13]
mov dword [esi + 0x164], ebx
mov byte [esi + 0x160], al
mov dword [esi + 0x168], ebx
mov dword [esi + 0x16c], ebx
lea edi, [esi + 0x178]
mov byte [esp + 0x28], 0x15
mov dword [esp + 0x18], edi
lea ecx, [edi + 0x20]
call sub.MFC42.DLL_CString::CString_4
push sub.MFC42.DLL_CString::CString
push sub.MFC42.DLL_CString::CString_4
push 2
lea ecx, [edi + 0x24]
push 4
push ecx
mov byte [esp + 0x3c], 0x16
call fcn.004e9c7e
push sub.MFC42.DLL_CString::CString
push sub.MFC42.DLL_CString::CString_4
push 2
mov byte [esp + 0x34], 0x17
push 4
lea edx, [edi + 0x2c]
push edx
call fcn.004e9c7e
lea ebp, [edi + 0x34]
push ebx
mov ecx, ebp
mov byte [esp + 0x2c], 0x18
call sub.MFC42.DLL_CSyncObject::CSyncObject
mov dword [ebp], 0x503d08
add ebp, 8
push ebp
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea ebp, [edi + 0x54]
push ebx
mov ecx, ebp
mov byte [esp + 0x2c], 0x19
call sub.MFC42.DLL_CSyncObject::CSyncObject
mov dword [ebp], 0x503d08
add ebp, 8
push ebp
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov al, byte [esp + 0x13]
add edi, 0x90
mov dword [esp + 0x1c], edi
mov byte [edi + 0xc], al
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], ebx
lea ecx, [edi + 0x44]
mov byte [esp + 0x28], 0x1b
call sub.MFC42.DLL_CString::CString_4
mov cl, byte [esp + 0x13]
mov dword [edi + 0x64], ebx
mov byte [edi + 0x60], cl
mov dword [edi + 0x68], ebx
mov dword [edi + 0x6c], ebx
mov dl, byte [esp + 0x13]
mov dword [edi + 0x74], ebx
mov byte [edi + 0x70], dl
mov dword [edi + 0x78], ebx
mov dword [edi + 0x7c], ebx
lea ecx, [edi + 0x94]
mov byte [esp + 0x28], 0x1e
call sub.MFC42.DLL_CString::CString_4
lea ecx, [edi + 0xb4]
mov byte [esp + 0x28], 0x1f
call sub.MFC42.DLL_CString::CString_4
mov al, byte [esp + 0x13]
mov dword [edi + 0xc4], ebx
mov byte [edi + 0xc0], al
mov dword [edi + 0xc8], ebx
mov dword [edi + 0xcc], ebx
mov cl, byte [esp + 0x13]
mov dword [edi + 0x100], ebx
mov byte [edi + 0xfc], cl
mov dword [edi + 0x104], ebx
mov dword [edi + 0x108], ebx
mov dl, byte [esp + 0x13]
mov dword [edi + 0x120], ebx
mov byte [edi + 0x11c], dl
mov dword [edi + 0x124], ebx
mov dword [edi + 0x128], ebx
lea ecx, [edi + 0x178]
mov byte [esp + 0x28], 0x23
call sub.MFC42.DLL_CString::CString_4
mov al, byte [esp + 0x13]
mov dword [edi + 0x3a8], ebx
mov byte [edi + 0x3a4], al
mov dword [edi + 0x3ac], ebx
mov dword [edi + 0x3b0], ebx
mov cl, byte [esp + 0x13]
mov dword [edi + 0x3c0], ebx
mov byte [edi + 0x3bc], cl
mov dword [edi + 0x3c4], ebx
mov dword [edi + 0x3c8], ebx
mov dl, byte [esp + 0x13]
mov dword [edi + 0x3d0], ebx
mov byte [edi + 0x3cc], dl
mov dword [edi + 0x3d4], ebx
mov dword [edi + 0x3d8], ebx
mov al, byte [esp + 0x13]
mov dword [edi + 0x3e8], ebx
mov byte [edi + 0x3e4], al
mov dword [edi + 0x3ec], ebx
mov dword [edi + 0x3f0], ebx
mov cl, byte [esp + 0x13]
mov dword [edi + 0x3f8], ebx
mov byte [edi + 0x3f4], cl
mov dword [edi + 0x3fc], ebx
mov dword [edi + 0x400], ebx
lea ecx, [edi + 0x404]
mov byte [esp + 0x28], 0x29
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esi + 0x650]
mov byte [esp + 0x28], 0x2a
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esi + 0x654]
mov byte [esp + 0x28], 0x2b
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esi + 0x658]
mov byte [esp + 0x28], 0x2c
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esi + 0x65c]
mov byte [esp + 0x28], 0x2d
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esi + 0x660]
mov byte [esp + 0x28], 0x2e
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esi + 0x664]
mov byte [esp + 0x28], 0x2f
call sub.MFC42.DLL_CString::CString_4
push sub.MFC42.DLL_CString::CString
push sub.MFC42.DLL_CString::CString_4
push 2
lea edx, [esi + 0x704]
push 4
push edx
mov byte [esp + 0x3c], 0x30
call fcn.004e9c7e
lea ecx, [esi + 0x70c]
mov byte [esp + 0x28], 0x31
call sub.MFC42.DLL_CString::CString_4
mov dword [esi], 0x5079c8
mov dword [esi + 0x64c], ebx
mov dword [esi + 0x6ec], ebx
mov dword [esi + 0x170], ebx
mov dword [esi + 0x174], ebx
mov dword [esi + 0x640], ebx
mov dword [esi + 0x630], ebx
mov dword [esi + 0x634], ebx
mov dword [esi + 0x638], ebx
mov dword [esi + 0x63c], ebx
mov dword [esi + 0x668], ebx
mov dword [esi + 0x66c], ebx
mov dword [esi + 0x694], ebx
mov dword [esi + 0x698], ebx
mov dword [esi + 0x674], ebx
mov ecx, 0x33
xor eax, eax
lea edi, [esi + 0x4e0]
mov dword [esi + 0x678], ebx
mov dword [esi + 0x684], ebx
mov dword [esi + 0x680], ebx
rep stosd dword es:[edi], eax
mov ecx, 0x14
lea edi, [esi + 0x69c]
rep stosd dword es:[edi], eax
mov dword [esi + 0x370], ebx
mov dword [esi + 0x378], ebx
mov dword [esi + 0x37c], ebx
mov dword [esi + 0x5c0], ebx
mov dword [esi + 0x300], ebx
mov dword [esi + 0x374], ebx
mov dword [esi + 0x354], ebx
mov dword [esi + 0x2f4], ebx
mov dword [esi + 0x334], ebx
mov dword [esi + 0x338], ebx
mov dword [esi + 0x2e8], ebx
mov dword [esi + 0x2ec], ebx
mov dword [esi + 0x184], ebx
mov dword [esi + 0x180], ebx
mov eax, 0x5076ec
mov ecx, dword [eax]
add eax, 4
cmp eax, 0x507998
mov dword [esi + ecx + 0x208], ebx
jb 0x48da56
mov eax, 0x5079ac
mov edx, dword [eax]
add eax, 4
cmp eax, 0x5079c8
mov dword [edx + esi + 0x208], ebx
mov dword [edx + esi + 0x20c], ebx
jb 0x48da6e
push ebx
push 1
push ebx
push ebx
mov dword [esi + 0x670], ebx
mov dword [esi + 0x67c], ebx
mov dword [esi + 0x6f0], ebx
mov dword [esi + 0x6f4], ebx
mov dword [esi + 0x700], 0x1388
mov dword [esi + 0x6f8], ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x6fc], eax
mov dword [esi + 0x68c], ebx
mov dword [esi + 0x644], 1
mov eax, esi
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret