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

Disassembly:
sub esp, 0x58
push ebx
push ebp
push esi
mov esi, dword [esp + 0x6c]
push edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x3c], 0
mov eax, dword [esi + 0xc]
mov ebp, dword [esi + 0x18]
mov ebx, dword [edi + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x34], ebx
test eax, eax
je 0x447704
cmp dword [eax], 1
jne 0x447704
push edi
call fcn.0043c8a0
add esp, 4
mov edx, eax
mov dword [esp + 0x50], edx
test ebp, ebp
je 0x446ed3
push ebp
push ebx
call fcn.00448790
add esp, 8
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x446ecf
push dword [esp + 0x50]
push ebx
call fcn.004499d0
push 0x13
push edi
call fcn.00444780
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
dec eax
mov dword [esp + 0x2c], 0x447ec0
cmp eax, 0xc
ja case.default.0x446ee9
jmp dword [eax*4 + 0x44771c]
xor eax, eax
mov ecx, 0x446730
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
jmp 0x447000
xor eax, eax
mov ecx, 0x446870
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
jmp 0x447000
mov ecx, 0x4468a0
jmp 0x446ff2
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x54]
cmp eax, 5
je 0x446f36
cmp eax, 3
jne 0x446f42
cmp dword [esp + 0x58], 0
mov ecx, 0x446950
je 0x446f47
mov ecx, 0x4468e0
mov eax, dword [esp + 0x74]
mov dword [esp + 0x2c], 0x4480d0
mov dword [esp + 0x20], eax
jmp 0x447004
xor eax, eax
mov ecx, 0x446a30
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
jmp 0x447004
xor eax, eax
mov ecx, 0x446ad0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
jmp 0x447004
xor eax, eax
mov ecx, 0x446b10
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
jmp 0x447004
xor eax, eax
mov ecx, 0x446b80
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
jmp 0x447004
mov ecx, 0x446bc0
jmp 0x446ff2
xor eax, eax
mov ecx, 0x446c80
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
jmp 0x447000
xor eax, eax
mov ecx, 0x446d30
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
jmp 0x447000
xor eax, eax
mov ecx, 0x446dc0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
jmp 0x447000
mov ecx, 0x446e10
xor eax, eax
mov dword [esp + 0x2c], 0x4480d0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
test ecx, ecx
je case.default.0x446ee9
mov eax, dword [edx + 4]
mov dword [esp + 0x60], eax
test eax, eax
je 0x4476cd
cmp dword [eax], 0
jle 0x4476cd
mov ecx, dword [esi + 8]
xor eax, eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x14], eax
cmp ecx, 0xffffffff
je 0x447097
mov eax, dword [edi + 0x20]
mov esi, dword [eax + 8]
lea eax, [ecx + ecx*4]
lea ebp, [esi + eax*8]
lea eax, [esp + 0x10]
mov dword [esp + 0x40], ebp
push eax
push ebp
push edi
call fcn.00445d90
add esp, 0xc
test eax, eax
je 0x447095
mov eax, dword [ebp + 4]
cmp eax, 0xffffffff
je 0x447085
lea eax, [eax + eax*4]
mov dword [esp + 0x5c], 1
lea eax, [esi + eax*8]
mov dword [esp + 0x40], eax
jmp 0x447097
xor eax, eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x40], eax
jmp 0x447097
mov eax, ebp
cmp dword [esp + 0x7c], 0
je 0x4470aa
mov dword [esp + 0x18], 1
test eax, eax
je 0x4470b2
mov dword [esp + 0x18], 0
mov eax, dword [ebx + 4]
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0x70], ebx
xor edx, edx
mov esi, edi
jmp 0x4470d0
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x6c]
nop
mov eax, dword [esp + 0x60]
cmp edx, dword [eax]
jge 0x4475a8
cmp dword [esi + 8], 0
jne 0x4475a8
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + edx*4]
inc edx
mov dword [ecx + 4], eax
mov dword [esp + 0x30], edx
test ebp, ebp
jne 0x447120
push 0xc
call dword [0x4ee2e8]
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x447593
xorps xmm0, xmm0
movq qword [ebp], xmm0
mov dword [ebp + 8], 0
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x38], ebx
push edi
push esi
call dword [esp + 0x24]
mov edi, eax
add esp, 8
test edi, edi
je 0x447454
mov eax, dword [esp + 0x20]
test eax, eax
je 0x447179
mov ecx, dword [eax]
test ecx, ecx
je 0x447179
cmp ecx, edi
je 0x447454
mov edx, dword [esp + 0x28]
mov eax, edx
and eax, 0x800000ff
jns 0x447165
dec eax
or eax, 0xffffff00
inc eax
jne 0x44717d
push edi
push ecx
call fcn.0043db70
add esp, 8
test eax, eax
jns 0x447454
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4471b7
mov ecx, dword [eax]
test ecx, ecx
je 0x4471b7
cmp ecx, edi
je 0x447454
mov eax, edx
and eax, 0x800000ff
jns 0x4471a3
dec eax
or eax, 0xffffff00
inc eax
jne 0x4471b7
push ecx
push edi
call fcn.0043db70
add esp, 8
test eax, eax
jns 0x447454
inc dword [esp + 0x28]
mov eax, dword [esp + 0x54]
cmp eax, 5
ja case.0x4471eb.5
jmp dword [eax*4 + 0x447750]
mov ecx, dword [esp + 0x58]
mov eax, dword [edi + 4]
test ecx, ecx
jne 0x4471f2
dec eax
cmp eax, 0x14
ja case.0x4471eb.5
movzx eax, byte [eax + 0x447770]
jmp dword [eax*4 + 0x447768]
cmp eax, ecx
jne 0x447245
cmp eax, 0x12
jne case.0x4471eb.1
cmp dword [esp + 0x14], 0
je 0x447227
inc ebx
cmp ebx, dword [esp + 0x10]
jne case.0x4471eb.5
mov eax, dword [esp + 0x34]
push edi
push dword [eax + 4]
push ebp
call fcn.00447880
add esp, 0xc
jmp 0x4472cd
mov eax, dword [esp + 0x34]
push edi
mov dword [esp + 0x3c], 1
push dword [eax + 4]
push ebp
call fcn.00447880
add esp, 0xc
jmp 0x447434
cmp ecx, 3
jne case.0x4471eb.5
cmp eax, 4
jne case.0x4471eb.5
jmp case.0x4471eb.1
cmp dword [edi + 4], 7
jne case.0x4471eb.5
mov eax, dword [esp + 0x44]
test eax, eax
je case.0x4471eb.1
push dword [edi + 8]
push eax
jmp 0x44729d
mov ecx, dword [esp + 0x4c]
cmp ecx, 3
jne 0x4472f1
cmp dword [edi + 4], 2
jne case.0x4471eb.5
cmp dword [esp + 0x48], 0
je case.0x4471eb.1
mov eax, dword [edi + 0x24]
test eax, eax
je case.0x4471eb.5
push dword [eax + 8]
push dword [esp + 0x40]
call fcn.0044e370
add esp, 8
test eax, eax
je case.0x4471eb.5
cmp dword [esp + 0x14], 0
je 0x44742a
inc ebx
cmp ebx, dword [esp + 0x10]
jne case.0x4471eb.5
push edi
push ebp
call fcn.004479a0
add esp, 8
test eax, eax
jns 0x4472d8
mov dword [esi + 8], 0xf
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4474a4
mov ebx, ebp
xor ebp, ebp
mov dword [esp + 0x70], ebx
jmp 0x4474b5
cmp ecx, 9
jne 0x44731b
cmp dword [edi + 4], 0x12
jne case.0x4471eb.5
cmp dword [esp + 0x14], 0
je 0x447227
inc ebx
cmp ebx, dword [esp + 0x10]
je 0x447211
jmp case.0x4471eb.5
cmp dword [edi + 4], 1
jmp 0x44727e
call fcn.004583c0
mov esi, eax
call fcn.004583e0
push 0x30a9
push str...xpath.c
push str.Unimplemented_block_at__s:_d_n
push dword [eax]
mov eax, dword [esi]
call eax
mov esi, dword [esp + 0x7c]
add esp, 0x10
jmp case.0x4471eb.5
mov ecx, dword [esp + 0x4c]
mov eax, dword [edi + 4]
cmp ecx, 3
jne 0x447362
cmp eax, 2
jmp 0x44736f
cmp ecx, 9
jne 0x44736c
cmp eax, 0x12
jmp 0x44736f
cmp eax, 1
jne case.0x4471eb.5
sub eax, 1
je 0x447401
sub eax, 1
je 0x4473cd
sub eax, 0x10
jne case.0x4471eb.5
mov eax, dword [edi + 0xc]
test eax, eax
je case.0x4471eb.5
mov ecx, dword [esp + 0x44]
test ecx, ecx
je case.0x4471eb.5
push ecx
push eax
call fcn.0044e370
add esp, 8
test eax, eax
je case.0x4471eb.5
cmp dword [esp + 0x14], 0
je 0x447227
inc ebx
cmp ebx, dword [esp + 0x10]
je 0x447211
jmp case.0x4471eb.5
push dword [edi + 8]
push dword [esp + 0x48]
call fcn.0044e370
add esp, 8
test eax, eax
je case.0x4471eb.5
cmp dword [esp + 0x48], 0
mov eax, dword [edi + 0x24]
jne 0x44728e
test eax, eax
je case.0x4471eb.1
cmp dword [eax + 0xc], 0
jne case.0x4471eb.5
jmp case.0x4471eb.1
push dword [edi + 8]
push dword [esp + 0x48]
call fcn.0044e370
add esp, 8
test eax, eax
je case.0x4471eb.5
cmp dword [esp + 0x48], 0
jne 0x44728b
cmp dword [edi + 0x24], 0
jne case.0x4471eb.5
jmp case.0x4471eb.1
push edi
push ebp
call fcn.004479a0
add esp, 8
test eax, eax
jns 0x44743f
mov dword [esi + 8], 0xf
cmp dword [esp + 0x18], 0
jne 0x447603
cmp dword [esi + 8], 0
je 0x447128
cmp dword [esi + 8], 0
mov ebx, dword [esp + 0x70]
jne 0x4475a8
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
test eax, eax
je 0x447556
mov esi, dword [ebp]
test esi, esi
jle 0x4470cb
cmp dword [esp + 0x5c], 0
mov edi, dword [esp + 0x6c]
je 0x4474c9
push dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
push ebx
push ebx
push esi
push ebp
push eax
push edi
call fcn.004413b0
mov ebx, dword [esp + 0x54]
add esp, 0x1c
jmp 0x4474da
push 0
push ebp
push edx
call dword [esp + 0x38]
add esp, 0xc
mov dword [esp + 0x70], eax
mov ebx, eax
cmp dword [esp + 0x7c], 0
jne 0x4475a8
mov edx, dword [esp + 0x30]
jmp 0x4470d0
mov ebx, dword [esp + 0x38]
push ebx
push esi
push ebp
push eax
push edi
call fcn.00441700
add esp, 0x14
cmp dword [edi + 8], 0
mov ecx, eax
jne 0x447658
test ecx, ecx
jne 0x4474fd
push ebx
push ebp
call fcn.00447a70
mov ebx, dword [esp + 0x78]
add esp, 8
jmp 0x4470c7
cmp dword [ebp], 0
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x30]
jle 0x4470cb
mov edx, ebx
test edx, edx
jne 0x447533
cmp esi, ecx
je 0x447529
push 1
push ebp
push ebx
call dword [esp + 0x38]
mov ebx, eax
mov dword [esp + 0x7c], ebx
jmp 0x447547
mov ebx, ebp
xor ebp, ebp
mov dword [esp + 0x70], ebx
jmp 0x44754a
xor eax, eax
cmp esi, ecx
setne al
push eax
push ebp
push edx
call dword [esp + 0x38]
mov ebx, eax
mov dword [esp + 0x7c], eax
add esp, 0xc
cmp dword [esp + 0x7c], 0
jne 0x4475ac
jmp 0x4470c7
cmp dword [ebp], 0
jle 0x4470d0
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x447579
mov edx, dword [esp + 0x30]
mov ebx, ebp
mov dword [esp + 0x70], ebx
xor ebp, ebp
jmp 0x4470d0
push 0
push ebp
push edx
call dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x70], ebx
jmp 0x4470d0
push str.creating_nodeset_n
push 0
call fcn.004448c0
add esp, 8
xor ebp, ebp
mov dword [esp + 0x28], ebp
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0x50]
cmp dword [edx + 8], 0
je 0x4475dd
cmp dword [edx + 0x1c], 0
je 0x4475dd
mov eax, dword [edi + 0x10]
mov dword [eax + 8], 1
mov ecx, dword [edi + 0x10]
mov eax, dword [edx + 0x1c]
mov dword [ecx + 0x1c], eax
mov dword [edx + 0x1c], 0
mov dword [edx + 8], 0
mov esi, dword [esp + 0x34]
push edx
push esi
call fcn.004499d0
add esp, 8
test ebx, ebx
jne 0x447698
test ebp, ebp
je 0x447669
cmp dword [ebp], ebx
jne 0x447669
mov ebx, ebp
jmp 0x447698
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x447611
mov ebx, ebp
xor ebp, ebp
jmp 0x4475a8
push 0
push ebp
push edx
call dword [esp + 0x38]
add esp, 0xc
mov ebx, eax
jmp 0x4475a8
mov dword [esp + 0x28], 0
call fcn.004583c0
mov esi, eax
call fcn.004583e0
push 0x305b
push str...xpath.c
push str.Internal_error_at__s:_d_n
push dword [eax]
mov eax, dword [esi]
call eax
mov ebx, dword [esp + 0x80]
add esp, 0x10
jmp 0x4475a8
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x28], 0
jmp 0x4475ac
push 0xc
call dword [0x4ee2e8]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x44768a
push str.creating_nodeset_n
push eax
call fcn.004448c0
add esp, 8
jmp 0x447698
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
test ebp, ebp
je 0x4476a9
cmp ebp, ebx
je 0x4476a9
push ebp
call fcn.004455b0
add esp, 4
push ebx
push esi
call fcn.0043d2c0
push eax
push edi
call fcn.0043c900
mov eax, dword [esp + 0x74]
add esp, 0x10
mov dword [esi + 4], eax
mov eax, dword [esp + 0x28]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
push edx
push ebx
call fcn.004499d0
push 0
push ebx
call fcn.0043d2c0
push eax
push edi
call fcn.0043c900
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
push edx
push ebx
call fcn.004499d0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
push 0xb
push edi
call fcn.00444780
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret