Function at 0x1002d270
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x100d6388
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1013d900]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x94]
mov esi, ecx
mov ebx, edx
mov edi, dword [esp + 0x90]
movsx eax, byte [edi + 1]
movsx ecx, byte [ebx + 1]
cmp eax, 1
je 0x1002d3f9
cmp ecx, 1
je 0x1002d62c
cmp eax, 4
je 0x1002d3c5
cmp ecx, 4
je 0x1002d3c5
cmp eax, 2
je 0x1002d36f
cmp ecx, 2
je 0x1002d36f
cmp eax, 3
je 0x1002d2f8
cmp ecx, 3
jne 0x1002d862
mov eax, dword [ebp]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
push ebp
push esi
lea eax, [esp + 0x28]
push eax
mov ecx, edi
mov dword [esp + 0x94], 0
call fcn.100293f0
push ebp
push esi
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebx
call fcn.100293f0
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x20]
call fcn.100243b0
lea edi, [esp + 0x38]
mov bl, al
mov dword [esp + 0x88], 0xffffffff
call fcn.10025e00
mov al, bl
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret
push ebp
push esi
mov ecx, ebx
call fcn.10028930
fstp qword [esp + 0x20]
push ebp
push esi
mov ecx, edi
call fcn.10028930
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 0x44
jp 0x1002d3ac
mov eax, 1
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret
xor eax, eax
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret
push ebp
push esi
mov ecx, ebx
call fcn.10028290
push ebp
push esi
mov ecx, edi
mov bl, al
call fcn.10028290
xor edx, edx
cmp al, bl
sete dl
mov al, dl
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret
cmp ecx, 1
jne 0x1002d624
mov eax, dword [ebp]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
push 0
push ebp
push esi
lea eax, [esp + 0x7c]
push eax
mov ecx, edi
mov dword [esp + 0x98], 1
call fcn.10029f80
push 0
push ebp
push esi
lea ecx, [esp + 0x6c]
push ecx
mov ecx, ebx
call fcn.10029f80
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x78]
je 0x1002d571
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
nop
mov dword [esp + 0x90], eax
cmp eax, ecx
je 0x1002d55c
mov esi, dword [ebp]
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x44]
push esi
push ecx
mov ecx, dword [esp + 0x98]
mov byte [esp + 0x90], 2
call fcn.10026250
mov edx, dword [ebp]
mov ecx, dword [esp + 0x1c]
mov edi, eax
push edx
lea eax, [esp + 0x60]
push eax
call fcn.10026250
mov ebx, dword [edi]
mov edi, dword [eax]
add esp, 0x10
test edi, edi
je 0x1002d4c0
test ebx, ebx
jne 0x1002d4d7
push 0xc3
push str...CommonPugixmlpugixml.cpp
push 0x1012c0ac
call fcn.1005c027
add esp, 0xc
mov eax, ebx
lea esp, [esp]
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x1002d500
test cl, cl
je 0x1002d4fc
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x1002d500
add edi, 2
add eax, 2
test cl, cl
jne 0x1002d4e0
xor eax, eax
jmp 0x1002d505
sbb eax, eax
sbb eax, 0xffffffff
mov byte [esp + 0x88], 1
mov ebx, dword [esp + 0x30]
test eax, eax
mov eax, dword [esi]
je 0x1002d5b0
cmp eax, ebx
je 0x1002d532
nop
mov edi, dword [eax]
push eax
call dword [0x1014b668]
add esp, 4
mov eax, edi
cmp edi, ebx
jne 0x1002d520
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x90]
mov dword [esi], ebx
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x68]
add eax, 8
mov dword [esp + 0x90], eax
cmp eax, ecx
jne 0x1002d46f
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x14]
add edx, 8
mov dword [esp + 0x14], edx
cmp edx, dword [esp + 0x78]
jne 0x1002d460
mov dword [esp + 0x88], 0xffffffff
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx]
mov edi, dword [esp + 0x3c]
cmp eax, edi
je 0x1002d5a2
lea ebx, [ebx]
mov esi, dword [eax]
push eax
call dword [0x1014b668]
add esp, 4
mov eax, esi
cmp esi, edi
jne 0x1002d590
mov ecx, dword [esp + 0x40]
mov dword [ebx], edi
mov dword [ebx + 4], ecx
jmp 0x1002d879
cmp eax, ebx
je 0x1002d5c6
mov edi, dword [eax]
push eax
call dword [0x1014b668]
add esp, 4
mov eax, edi
cmp edi, ebx
jne 0x1002d5b4
mov edx, dword [esp + 0x34]
mov dword [esp + 0x88], 0xffffffff
mov edi, dword [esp + 0x3c]
mov dword [esi], ebx
mov ebx, dword [esp + 0x20]
mov dword [esi + 4], edx
mov eax, dword [ebx]
cmp eax, edi
je 0x1002d602
jmp 0x1002d5f0
mov esi, dword [eax]
push eax
call dword [0x1014b668]
add esp, 4
mov eax, esi
cmp esi, edi
jne 0x1002d5f0
mov eax, dword [esp + 0x40]
mov dword [ebx + 4], eax
mov dword [ebx], edi
mov al, 1
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret
mov eax, edi
mov edi, ebx
mov ebx, eax
mov eax, ecx
cmp eax, 4
je 0x1002d3c5
cmp eax, 2
jne 0x1002d775
mov eax, dword [ebp]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
push ebp
push esi
mov ecx, edi
mov dword [esp + 0x90], 3
call fcn.10028930
fstp qword [esp + 0x14]
push 0
push ebp
push esi
lea eax, [esp + 0x7c]
push eax
mov ecx, ebx
call fcn.10029f80
mov esi, dword [esp + 0x74]
cmp esi, dword [esp + 0x78]
je 0x1002d70a
mov ebx, 0x7fc00000
mov eax, dword [ebp]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
push eax
lea eax, [esp + 0x58]
push eax
mov ecx, esi
mov byte [esp + 0x90], 4
call fcn.10026250
mov edi, dword [eax]
add esp, 8
mov eax, edi
call fcn.10026bb0
test al, al
jne 0x1002d6da
mov dword [esp + 0x90], ebx
fld dword [esp + 0x90]
jmp 0x1002d6e5
push 0
push edi
call fcn.1005c898
add esp, 8
fcomp qword [esp + 0x14]
mov byte [esp + 0x88], 3
lea edi, [esp + 0x2c]
fnstsw ax
test ah, 0x44
jnp 0x1002d743
call fcn.10025e00
add esi, 8
cmp esi, dword [esp + 0x78]
jne 0x1002d691
mov dword [esp + 0x88], 0xffffffff
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx]
mov edi, dword [esp + 0x3c]
cmp eax, edi
je 0x1002d735
mov esi, dword [eax]
push eax
call dword [0x1014b668]
add esp, 4
mov eax, esi
cmp esi, edi
jne 0x1002d723
mov ecx, dword [esp + 0x40]
mov dword [ebx], edi
mov dword [ebx + 4], ecx
jmp 0x1002d879
call fcn.10025e00
lea edi, [esp + 0x38]
mov dword [esp + 0x88], 0xffffffff
call fcn.10025e00
mov al, 1
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret
cmp eax, 3
jne 0x1002d862
mov eax, dword [ebp]
mov edx, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
push ebp
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
mov dword [esp + 0x94], 5
call fcn.100293f0
push 0
push ebp
push esi
lea edx, [esp + 0x50]
push edx
mov ecx, ebx
call fcn.10029f80
mov ebx, dword [esp + 0x48]
cmp ebx, dword [esp + 0x4c]
je 0x1002d81a
mov eax, dword [ebp]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
push eax
lea eax, [esp + 0x58]
push eax
mov ecx, ebx
mov byte [esp + 0x90], 6
call fcn.10026250
mov esi, dword [eax]
mov edi, dword [esp + 0x1c]
add esp, 8
call fcn.100243b0
mov byte [esp + 0x88], 5
lea edi, [esp + 0x38]
test al, al
jne 0x1002d830
call fcn.10025e00
add ebx, 8
cmp ebx, dword [esp + 0x4c]
jne 0x1002d7c5
lea edi, [esp + 0x2c]
mov dword [esp + 0x88], 0xffffffff
call fcn.10025e00
jmp 0x1002d879
call fcn.10025e00
lea edi, [esp + 0x2c]
mov dword [esp + 0x88], 0xffffffff
call fcn.10025e00
mov al, 1
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret
push 0x2428
push str...CommonPugixmlpugixml.cpp
push str.__Wrong_types_
call fcn.1005c027
add esp, 0xc
xor al, al
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret