Function at 0x4030b0
Capabilities:
Get process heap force flags

Disassembly:
push 0xffffffffffffffff
push 0x407b18
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x28
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
push esi
mov esi, ecx
push edi
xor ebp, ebp
mov ecx, 0x118000
xor eax, eax
mov edi, 0x40b9b8
mov dword [esi + 4], ebp
mov dword [esi + 0x112c], ebp
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x4c]
mov ecx, ebx
shr ecx, 0x10
mov byte [esp + 0x24], cl
mov ecx, edi
mov eax, ebx
mov edx, edi
shr ecx, 0x10
shr eax, 0x18
mov byte [esp + 0x30], cl
mov ecx, edi
mov byte [esp + 0x28], al
mov eax, ebx
shr ecx, 8
shr eax, 8
shr edx, 0x18
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x18]
mov byte [esp + 0x2c], al
mov byte [esp + 0x34], dl
mov byte [esp + 0x10], al
mov byte [esp + 0x48], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov dword [esp + 0x40], ebp
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
and ebx, 0xff
and edx, 0xff
and edi, 0xff
push ebx
and ebp, 0xff
push edx
push edi
push ebp
lea eax, [esp + 0x28]
push str._d._d._d._d
push eax
mov byte [esp + 0x58], 1
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x48]
add esp, 0x18
and ecx, 0xff
and edx, 0xff
push ecx
mov ecx, dword [esp + 0x38]
and eax, 0xff
push edx
and ecx, 0xff
push eax
push ecx
lea edx, [esp + 0x30]
push str._d._d._d._d
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x18
lea ecx, [esp + 0x18]
push 0x10
push 0
call sub.MFC42.DLL_CString::GetBuffer
mov ecx, dword [esi + 0x112c]
push eax
lea eax, [ecx*8]
mov ebx, dword [sym.imp.MSVCRT.dll_strncpy]
sub eax, ecx
lea eax, [eax + eax*4]
lea ecx, [eax*2 + 0x40b9ed]
push ecx
call ebx
mov eax, dword [esi + 0x112c]
add esp, 0xc
inc eax
mov dword [esi + 0x112c], eax
mov al, byte [esp + 0x48]
cmp al, 0xff
je 0x403213
inc al
mov byte [esp + 0x48], al
mov al, byte [esp + 0x10]
jmp 0x40322a
mov al, byte [esp + 0x10]
mov byte [esp + 0x48], 0
cmp al, 0xff
je 0x4032cc
inc al
mov byte [esp + 0x10], al
mov cl, byte [esp + 0x1c]
cmp al, cl
ja 0x4032cc
jne 0x403248
mov dl, byte [esp + 0x48]
mov al, byte [esp + 0x4c]
cmp dl, al
ja 0x4032cc
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
and eax, 0xff
and ecx, 0xff
push eax
push ecx
push edi
push ebp
lea edx, [esp + 0x24]
push str._d._d._d._d
push edx
mov byte [esp + 0x58], 2
call sub.MFC42.DLL_CString::Format
add esp, 0x18
lea ecx, [esp + 0x14]
push 0x10
push 0
call sub.MFC42.DLL_CString::GetBuffer
mov ecx, dword [esi + 0x112c]
push eax
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax + eax*4]
lea ecx, [eax*2 + 0x40b9ed]
push ecx
call ebx
mov eax, dword [esi + 0x112c]
add esp, 0xc
inc eax
lea ecx, [esp + 0x14]
mov dword [esi + 0x112c], eax
mov byte [esp + 0x40], 1
call fcn.00407350
jmp 0x4031ff
mov edi, dword [esi + 0x112c]
lea ecx, [esp + 0x20]
mov dword [esi + 4], edi
mov byte [esp + 0x40], 0
call fcn.00407350
lea ecx, [esp + 0x18]
mov dword [esp + 0x40], 0xffffffff
call fcn.00407350
mov ecx, dword [esp + 0x38]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x34
ret 8