Function at 0x415160
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4368e0
mov eax, dword fs:[0]
push eax
sub esp, 0x41c
mov eax, dword [0x443d3c]
xor eax, esp
mov dword [esp + 0x418], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x443d3c]
xor eax, esp
push eax
lea eax, [esp + 0x430]
mov dword fs:[0], eax
mov esi, dword [esp + 0x440]
xor ebx, ebx
push esi
mov ebp, ecx
mov dword [esp + 0x1c], ebx
xor edi, edi
call fcn.00412c30
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
push 1
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call edx
cmp eax, 1
jne 0x41522b
test ebx, ebx
jne 0x41522b
movsx eax, byte [esp + edi + 0x2c]
push eax
call fcn.00421399
add esp, 4
test eax, eax
jne 0x4151f7
mov al, byte [esp + edi + 0x2c]
cmp al, 0x2f
je 0x4151f7
cmp al, 0x3e
je 0x4151f7
add edi, 1
jmp 0x41520a
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ebx, 1
push ebx
push 0xffffffffffffffff
push 0xfffffffffffffffe
mov ecx, esi
call eax
cmp edi, 0x400
jge 0x4152cd
mov edx, dword [esi]
mov edx, dword [edx + 0x34]
push 1
lea eax, [esp + edi + 0x30]
push eax
mov ecx, esi
call edx
cmp eax, 1
je 0x4151d0
mov byte [esp + edi + 0x2c], 0
cmp byte [esp + 0x2c], 0x3c
jne 0x415400
cmp edi, 2
jl 0x415400
lea ecx, [esp + 0x2d]
push ecx
call fcn.00412bf0
add esp, 4
push esi
mov ecx, ebp
mov dword [ebp + 8], eax
call fcn.00414eb0
push esi
mov ecx, ebp
call fcn.00412c30
mov edx, dword [esi]
mov edx, dword [edx + 0x34]
push 1
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call edx
mov al, byte [esp + 0x2c]
cmp al, 0x2f
jne 0x4153ad
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
push 1
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call edx
cmp byte [esp + 0x2c], 0x3e
je 0x41537e
push 0xc
call fcn.00415a5a
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x438], 0xa
je 0x41535e
push str.__not_followed_by___in_node_header
mov ecx, eax
call fcn.004140d0
jmp 0x415360
push 0xc
mov byte [esp + 0x42f], 0
call fcn.00415a5a
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
xor eax, eax
cmp esi, eax
mov dword [esp + 0x438], eax
je 0x415340
push str.Buffer_size_to_small_for_node._nDump:
lea ecx, [esp + 0x28]
call fcn.0040b930
lea ecx, [esp + 0x2c]
push ecx
push eax
lea edx, [esp + 0x24]
push edx
mov byte [esp + 0x444], 1
mov dword [esp + 0x24], 1
call fcn.0040b850
add esp, 0xc
mov eax, dword [eax]
push eax
mov ecx, esi
mov dword [esp + 0x43c], 2
mov dword [esp + 0x1c], 3
call fcn.004140d0
mov dword [esp + 0x14], eax
push 0x43f62c
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x440], 4
call fcn.00421d44
xor eax, eax
mov dword [esp + 0x14], eax
push 0x43f62c
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x440], 0xffffffff
call fcn.00421d44
mov eax, 1
mov ecx, dword [esp + 0x430]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x418]
xor ecx, esp
call fcn.0042050e
add esp, 0x428
ret 4
cmp al, 0x3e
je 0x4153fc
push 0xc
call fcn.00415a5a
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x438], 0xb
je 0x4153dc
push str.Xml_node_header_was_not_closed_properly
mov ecx, eax
call fcn.004140d0
jmp 0x4153de
xor eax, eax
push 0x43f62c
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x440], 0xffffffff
mov dword [esp + 0x28], eax
call fcn.00421d44
xor eax, eax
jmp 0x415383
push 0xc
call fcn.00415a5a
mov esi, eax
add esp, 4
mov dword [esp + 0x1c], esi
test esi, esi
mov dword [esp + 0x438], 5
je 0x41546f
push str.Node_beginning_not_detected._nDump:
lea ecx, [esp + 0x28]
call fcn.0040b930
lea edx, [esp + 0x2c]
push edx
push eax
lea eax, [esp + 0x30]
push eax
mov byte [esp + 0x444], 6
mov dword [esp + 0x24], 4
call fcn.0040b850
add esp, 0xc
mov eax, dword [eax]
push eax
mov ecx, esi
mov dword [esp + 0x43c], 7
mov dword [esp + 0x1c], 0xc
call fcn.004140d0
jmp 0x415471
xor eax, eax
push 0x43f62c
lea ecx, [esp + 0x18]
push ecx
mov dword [esp + 0x440], 9
mov dword [esp + 0x1c], eax
call fcn.00421d44
int3