Function at 0x40be90
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x43b300
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], 0x44175c
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
mov eax, dword [edi + 0xc]
xor ebp, ebp
cmp eax, ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ebp
jle 0x40c193
mov dword [esp + 0x14], ebx
jmp 0x40bef1
mov ebp, dword [esp + 0x10]
test ebx, ebx
jl 0x40c294
cmp ebp, dword [edi + 0xc]
jge 0x40c294
mov eax, dword [edi + 8]
add eax, ebx
lea ecx, [eax + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea eax, [esp + 0x24]
push eax
mov ecx, edi
call fcn.0040b700
cmp eax, 0xffffffff
jne 0x40c119
xor eax, eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x38], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], 0x441770
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_2]
cmp ebp, dword [edi + 0xc]
mov byte [esp + 0x54], 1
jge 0x40c294
mov eax, dword [edi + 8]
add eax, ebx
add eax, 0x18
push eax
lea ecx, [esp + 0x4c]
call dword [0x43f43c]
cmp ebp, dword [edi + 0xc]
jge 0x40c294
mov esi, dword [edi + 8]
mov eax, dword [esp + 0x3c]
add esi, ebx
test eax, eax
mov ebp, eax
jl 0x40c294
push 0xffffffffffffffff
inc eax
push eax
lea ecx, [esp + 0x3c]
call fcn.004039f0
mov edx, dword [esp + 0x38]
mov ecx, ebp
shl ecx, 6
push esi
add ecx, edx
call fcn.00403880
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x40bfc8
mov edx, dword [esp + 0x28]
push 1
lea ecx, [esp + 0x38]
push ecx
dec edx
push edx
lea ecx, [esp + 0x2c]
call fcn.0040bbd0
jmp 0x40c083
mov esi, dword [esp + 0x28]
test esi, esi
jl 0x40c294
push 0xffffffffffffffff
lea eax, [esi + 1]
push eax
lea ecx, [esp + 0x28]
call fcn.0040b7d0
mov edx, dword [esp + 0x24]
lea ecx, [esi + esi*2]
lea edi, [edx + ecx*8]
lea eax, [esp + 0x48]
push eax
lea ecx, [edi + 0x14]
call dword [0x43f43c]
mov eax, dword [edi + 4]
xor ebp, ebp
cmp eax, ebp
je 0x40c050
mov eax, dword [edi + 8]
xor ebx, ebx
cmp eax, ebp
jle 0x40c03d
lea ecx, [ecx]
mov esi, dword [edi + 4]
add esi, ebp
lea ecx, [esi + 0x18]
call dword [0x43f434]
lea ecx, [esi + 0x14]
call dword [0x43f434]
lea ecx, [esi + 0x10]
call dword [0x43f434]
mov eax, dword [edi + 8]
inc ebx
add ebp, 0x40
cmp ebx, eax
jl 0x40c010
xor ebp, ebp
mov eax, dword [edi + 4]
push eax
call sub.MFC71.DLL_operator_delete_1
mov ebx, dword [esp + 0x18]
add esp, 4
mov dword [edi + 4], ebp
lea ecx, [esp + 0x34]
cmp edi, ecx
mov dword [edi + 0xc], ebp
mov dword [edi + 8], ebp
je 0x40c07f
mov edx, dword [esp + 0x3c]
push 0xffffffffffffffff
push edx
mov ecx, edi
call fcn.004039f0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.0040b4e0
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp eax, dword [edi + 0xc]
jge 0x40c294
mov eax, dword [edi + 8]
mov ecx, dword [eax + ebx + 0x38]
add eax, ebx
test ecx, ecx
je 0x40c0a5
mov dword [esp + 0x1c], 1
lea ecx, [esp + 0x48]
mov byte [esp + 0x54], 0
call dword [0x43f434]
mov eax, dword [esp + 0x38]
test eax, eax
mov dword [esp + 0x34], 0x4404c0
je 0x40c170
mov eax, dword [esp + 0x3c]
xor edi, edi
test eax, eax
jle 0x40c106
xor ebx, ebx
mov ecx, dword [esp + 0x38]
lea esi, [ebx + ecx]
lea ecx, [esi + 0x18]
call dword [0x43f434]
lea ecx, [esi + 0x14]
call dword [0x43f434]
lea ecx, [esi + 0x10]
call dword [0x43f434]
mov eax, dword [esp + 0x3c]
inc edi
add ebx, 0x40
cmp edi, eax
jl 0x40c0d4
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
push edx
call sub.MFC71.DLL_operator_delete_1
mov edi, dword [esp + 0x1c]
add esp, 4
jmp 0x40c170
cmp ebp, dword [edi + 0xc]
jge 0x40c294
mov ebp, dword [edi + 8]
add ebp, ebx
test eax, eax
jl 0x40c294
cmp eax, dword [esp + 0x28]
jge 0x40c294
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*2]
mov esi, dword [ecx + eax*8 + 8]
test esi, esi
lea ebx, [ecx + eax*8]
jl 0x40c294
push 0xffffffffffffffff
lea edx, [esi + 1]
push edx
mov ecx, ebx
call fcn.004039f0
mov eax, dword [ebx + 4]
mov ecx, esi
shl ecx, 6
push ebp
add ecx, eax
call fcn.00403880
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0xc]
inc eax
add ebx, 0x40
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jl 0x40beed
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
xor esi, esi
test ebx, ebx
mov dword [esp + 0x10], esi
jle 0x40c24f
mov ebp, ecx
test esi, esi
jl 0x40c294
cmp esi, ebx
jge 0x40c294
push ebp
mov ecx, edi
call fcn.0040b570
xor eax, eax
xor ebx, ebx
mov ecx, dword [ebp + 8]
cmp eax, ecx
mov dword [esp + 0x1c], eax
jge 0x40c235
test ebx, ebx
jl 0x40c294
cmp eax, ecx
jge 0x40c294
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x60]
test dword [ebx + ecx + 0x20], edx
je 0x40c22f
cmp eax, dword [ebp + 8]
jge 0x40c294
mov ecx, dword [esp + 0x5c]
mov esi, dword [ebp + 4]
mov edi, dword [ecx + 8]
add esi, ebx
test edi, edi
jl 0x40c294
push 0xffffffffffffffff
lea eax, [edi + 1]
push eax
call fcn.004039f0
mov edx, dword [esp + 0x5c]
mov eax, dword [edx + 4]
mov ecx, edi
shl ecx, 6
push esi
add ecx, eax
call fcn.00403880
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
inc eax
add ebx, 0x40
jmp 0x40c1bf
mov eax, dword [esp + 0x28]
inc esi
add ebp, 0x18
cmp esi, eax
mov dword [esp + 0x10], esi
mov ebx, eax
jl 0x40c1a3
mov ecx, dword [esp + 0x24]
test ecx, ecx
mov dword [esp + 0x54], 0xffffffff
je 0x40c27d
test ebx, ebx
jle 0x40c274
mov edi, ecx
mov eax, dword [edi]
push 0
mov ecx, edi
call dword [eax + 4]
add edi, 0x18
dec ebx
jne 0x40c261
mov ecx, dword [esp + 0x24]
push ecx
call sub.MFC71.DLL_operator_delete_1
add esp, 4
mov ecx, dword [esp + 0x4c]
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x48
ret 8
call fcn.00439dbc
int3