Function at 0x1002d8a0
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 0x1002da2c
cmp ecx, 1
je 0x1002dc6c
cmp eax, 4
je 0x1002d9f8
cmp ecx, 4
je 0x1002d9f8
cmp eax, 2
je 0x1002d9a2
cmp ecx, 2
je 0x1002d9a2
cmp eax, 3
je 0x1002d928
cmp ecx, 3
jne 0x1002dea2
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
test al, al
lea edi, [esp + 0x38]
sete bl
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
jnp 0x1002d9df
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
setne 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 0x1002dc64
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 0x1002dbb1
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
jmp 0x1002daa0
mov dword [esp + 0x90], eax
cmp eax, ecx
je 0x1002db9c
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 0x1002db00
test ebx, ebx
jne 0x1002db17
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 0x1002db40
test cl, cl
je 0x1002db3c
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x1002db40
add edi, 2
add eax, 2
test cl, cl
jne 0x1002db20
xor eax, eax
jmp 0x1002db45
sbb eax, eax
sbb eax, 0xffffffff
mov byte [esp + 0x88], 1
mov ebx, dword [esp + 0x30]
test eax, eax
mov eax, dword [esi]
jne 0x1002dbf0
cmp eax, ebx
je 0x1002db72
nop
mov edi, dword [eax]
push eax
call dword [0x1014b668]
add esp, 4
mov eax, edi
cmp edi, ebx
jne 0x1002db60
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 0x1002daaf
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x14]
add edx, 8
mov dword [esp + 0x14], edx
cmp edx, dword [esp + 0x78]
jne 0x1002daa0
mov dword [esp + 0x88], 0xffffffff
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx]
mov edi, dword [esp + 0x3c]
cmp eax, edi
je 0x1002dbe2
lea ebx, [ebx]
mov esi, dword [eax]
push eax
call dword [0x1014b668]
add esp, 4
mov eax, esi
cmp esi, edi
jne 0x1002dbd0
mov ecx, dword [esp + 0x40]
mov dword [ebx], edi
mov dword [ebx + 4], ecx
jmp 0x1002deb9
cmp eax, ebx
je 0x1002dc06
mov edi, dword [eax]
push eax
call dword [0x1014b668]
add esp, 4
mov eax, edi
cmp edi, ebx
jne 0x1002dbf4
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 0x1002dc42
jmp 0x1002dc30
mov esi, dword [eax]
push eax
call dword [0x1014b668]
add esp, 4
mov eax, esi
cmp esi, edi
jne 0x1002dc30
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 0x1002d9f8
cmp eax, 2
jne 0x1002ddb5
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 0x1002dd4a
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 0x1002dd1a
mov dword [esp + 0x90], ebx
fld dword [esp + 0x90]
jmp 0x1002dd25
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
jp 0x1002dd83
call fcn.10025e00
add esi, 8
cmp esi, dword [esp + 0x78]
jne 0x1002dcd1
mov dword [esp + 0x88], 0xffffffff
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx]
mov edi, dword [esp + 0x3c]
cmp eax, edi
je 0x1002dd75
mov esi, dword [eax]
push eax
call dword [0x1014b668]
add esp, 4
mov eax, esi
cmp esi, edi
jne 0x1002dd63
mov ecx, dword [esp + 0x40]
mov dword [ebx], edi
mov dword [ebx + 4], ecx
jmp 0x1002deb9
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 0x1002dea2
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 0x1002de5a
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
je 0x1002de70
call fcn.10025e00
add ebx, 8
cmp ebx, dword [esp + 0x4c]
jne 0x1002de05
lea edi, [esp + 0x2c]
mov dword [esp + 0x88], 0xffffffff
call fcn.10025e00
jmp 0x1002deb9
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