Function at 0x435630
Capabilities:
Access peb ldr_data
Get process heap flags
Get process heap force flags

Disassembly:
push 0xffffffffffffffff
push 0x4e5752
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebp, ebp
mov dword [esp + 0x10], ebp
mov ebx, dword [edi + 4]
mov eax, dword [ebx + 8]
lea esi, [ebx + 8]
mov dword [esp + 0x14], eax
lea eax, [esi + 4]
mov ecx, eax
mov edx, dword [ecx]
mov dword [esp + 0x18], edx
mov cx, word [ecx + 4]
mov word [esp + 0x1c], cx
mov edx, dword [eax]
mov dword [esp + 0x18], edx
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov ecx, dword [eax]
mov edx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [edx]
mov dword [esp + 0x18], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x20], ecx
mov ecx, eax
mov edx, dword [edx + 0xc]
mov dword [esp + 0x24], edx
mov edx, dword [ecx]
mov dword [esp + 0x18], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x1c], edx
mov ecx, dword [ecx + 8]
mov dword [esp + 0x20], ecx
mov edx, dword [eax]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], edx
mov ecx, dword [esi + 0x14]
shl ecx, 0x1f
sar ecx, 0x1f
xor ecx, eax
and ecx, 1
xor eax, ecx
mov dword [esp + 0x28], eax
mov edx, dword [esi + 0x14]
shl edx, 0x1e
sar edx, 0x1e
xor edx, eax
and edx, 2
xor eax, edx
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 0x14]
shl ecx, 0x1d
sar ecx, 0x1d
xor ecx, eax
and ecx, 4
xor eax, ecx
mov dword [esp + 0x28], eax
mov edx, dword [esi + 0x14]
shl edx, 0x1c
sar edx, 0x1c
xor edx, eax
and edx, 8
xor eax, edx
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 0x14]
shl ecx, 0x1b
sar ecx, 0x1b
xor ecx, eax
and ecx, 0x10
xor eax, ecx
mov dword [esp + 0x28], eax
mov edx, dword [esi + 0x14]
shl edx, 0x1a
sar edx, 0x1a
xor edx, eax
and edx, 0x20
xor eax, edx
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 0x14]
shl ecx, 0x19
sar ecx, 0x19
xor ecx, eax
and ecx, 0x40
xor eax, ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x28], eax
mov edx, dword [esi + 0x14]
shl edx, 0x18
sar edx, 0x18
xor edx, eax
and edx, 0x80
xor eax, edx
mov dword [esp + 0x28], eax
lea eax, [esi + 0x18]
push eax
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esi + 0x1c]
mov dword [esp + 0x3c], 1
push ecx
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [ebx]
mov dword [esp + 0x3c], 2
cmp eax, ebp
mov dword [edi + 4], eax
je 0x4357b3
mov dword [eax + 4], ebp
jmp 0x4357b6
mov dword [edi + 8], ebp
mov ecx, esi
call fcn.0042bbd0
add esi, 0x20
mov edx, ebp
dec ebp
test edx, edx
jne 0x4357b6
mov eax, dword [edi + 0x10]
mov dword [ebx], eax
mov eax, dword [edi + 0xc]
dec eax
mov dword [edi + 0x10], ebx
mov dword [edi + 0xc], eax
jne 0x435809
mov esi, dword [edi + 4]
xor ebx, ebx
cmp esi, ebx
je 0x4357f2
lea ecx, [esi + 8]
push 1
push ecx
call fcn.00435c70
mov esi, dword [esi]
cmp esi, ebx
jne 0x4357e1
mov ecx, dword [edi + 0x14]
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], ebx
mov dword [edi + 8], ebx
mov dword [edi + 4], ebx
call sub.MFC42.DLL_CPlex::FreeDataChain
mov dword [edi + 0x14], ebx
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov di, word [esp + 0x1c]
lea eax, [esi + 4]
mov dword [esi], edx
mov edx, eax
mov ebx, eax
mov ebp, dword [esp + 0x24]
mov dword [edx], ecx
mov word [edx + 4], di
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [ebx], ecx
mov dword [ebx + 4], edx
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], ebp
mov dword [ebx], ecx
mov dword [ebx + 4], edx
mov edx, dword [esi + 0x14]
mov dword [ebx + 8], edi
mov dword [eax], ecx
mov eax, dword [esp + 0x28]
mov ecx, eax
shl ecx, 0x1f
sar ecx, 0x1f
xor ecx, edx
and ecx, 1
xor ecx, edx
mov edx, eax
shl edx, 0x1e
sar edx, 0x1e
xor edx, ecx
and edx, 2
xor edx, ecx
mov ecx, eax
shl ecx, 0x1d
sar ecx, 0x1d
xor ecx, edx
and ecx, 4
xor ecx, edx
mov edx, eax
shl edx, 0x1c
sar edx, 0x1c
xor edx, ecx
and edx, 8
xor edx, ecx
mov ecx, eax
shl ecx, 0x1b
sar ecx, 0x1b
xor ecx, edx
and ecx, 0x10
xor ecx, edx
mov edx, eax
shl edx, 0x1a
sar edx, 0x1a
xor edx, ecx
and edx, 0x20
xor edx, ecx
mov ecx, eax
shl ecx, 0x19
sar ecx, 0x19
xor ecx, edx
and ecx, 0x40
shl eax, 0x18
xor ecx, edx
sar eax, 0x18
xor eax, ecx
and eax, 0x80
xor eax, ecx
lea ecx, [esi + 0x18]
mov dword [esi + 0x14], eax
lea eax, [esp + 0x2c]
push eax
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x30]
mov byte [esp + 0x3c], 3
push ecx
lea ecx, [esi + 0x1c]
call sub.MFC42.DLL_CString::CString_2
mov dword [esp + 0x10], 1
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c], 0
call fcn.0042bbd0
mov ecx, dword [esp + 0x34]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret 4