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

Disassembly:
push 0xffffffffffffffff
push 0x46cdd6
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
mov eax, dword [0x481524]
xor eax, esp
mov dword [esp + 0xd0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x481524]
xor eax, esp
push eax
lea eax, [esp + 0xe8]
mov dword fs:[0], eax
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0xf8]
push 0xffffffffffffffff
xor ebp, ebp
mov ebx, ecx
push ebp
push esi
lea ecx, [esp + 0x80]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x98], 0xf
mov dword [esp + 0x94], ebp
mov byte [esp + 0x84], 0
call fcn.00403750
mov dword [esp + 0xf0], ebp
push 0x4741e8
push ecx
push esi
push ecx
push 0x47416c
push ecx
push 0x47438c
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push str.TiXmlXPath
push 0x4847e8
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], ebp
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
mov edi, eax
add esp, 8
lea eax, [esp + 0x40]
call fcn.00412a10
add esp, 4
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
cmp dword [esp + 0x1c], ebp
jne 0x414de7
mov dword [ebx + 0x18], 0xa
jmp 0x416896
mov eax, dword [esp + 0x88]
cmp eax, ebp
jne 0x414dfe
mov dword [ebx + 0x18], 1
jmp 0x416896
mov esi, 3
cmp eax, esi
jae 0x414e0b
mov esi, eax
jmp 0x414e0d
mov eax, esi
mov ecx, dword [esp + 0x78]
mov edi, 0x10
cmp dword [esp + 0x8c], edi
jae 0x414e23
lea ecx, [esp + 0x78]
push eax
push 0x47443c
push ecx
call fcn.00411170
add esp, 0xc
cmp eax, ebp
jne 0x414e53
cmp esi, 3
jb 0x414e53
xor eax, eax
cmp esi, 3
setne al
cmp eax, ebp
jne 0x414e53
mov dword [ebx + 0x18], 1
jmp 0x416896
push 2
push 0x474440
push 2
push ebp
lea ecx, [esp + 0x84]
call fcn.00411e60
test eax, eax
sete al
mov byte [esp + 0x33], al
test al, al
jne 0x4157b4
mov ecx, dword [esp + 0x78]
cmp dword [esp + 0x8c], edi
jae 0x414e8b
lea ecx, [esp + 0x78]
cmp byte [ecx], 0x2f
jne 0x4157b4
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
push str.__query_from_ROOT
push ecx
push 0x4741e8
push ecx
push eax
push ecx
push 0x4741ec
push ecx
lea ebx, [edi + 0x20]
push ebx
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
mov ecx, dword [edi + 0x10]
cmp ecx, ebp
jne 0x414f45
mov edx, dword [edi]
mov eax, dword [edx + 0x10]
mov ecx, edi
call eax
test eax, eax
sete al
jmp 0x414f51
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
test eax, eax
setne al
test al, al
je 0x4156b8
push str._____context_is_ROOT_
push ecx
push ebx
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
mov byte [esp + 0xf0], 1
push 1
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x7c]
push edx
mov eax, 1
mov byte [esp + 0x24], 0x2f
call fcn.00411ca0
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x41504f
push eax
lea eax, [esp + 0x5c]
push eax
mov ecx, 1
lea edx, [esp + 0x7c]
call fcn.00411640
mov byte [esp + 0xf0], 2
push ebp
push 0
push eax
lea ecx, [esp + 0x9c]
call fcn.00403750
mov byte [esp + 0xf0], 1
lea ecx, [esp + 0x58]
call fcn.00402630
lea eax, [esp + 0x74]
call fcn.00411570
jmp 0x4150cd
lea ecx, [ebp - 1]
push ecx
lea edx, [esp + 0x5c]
push edx
mov ecx, 1
lea edx, [esp + 0x7c]
call fcn.00411640
mov byte [esp + 0xf0], 3
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
call fcn.00403750
mov byte [esp + 0xf0], 1
lea ecx, [esp + 0x58]
call fcn.00402630
push 0xffffffffffffffff
lea eax, [esp + 0x5c]
lea ecx, [ebp + 1]
push eax
lea edx, [esp + 0x7c]
call fcn.00411640
mov byte [esp + 0xf0], 4
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x80]
call fcn.00403750
mov byte [esp + 0xf0], 1
lea ecx, [esp + 0x58]
call fcn.00402630
lea ecx, [esp + 0x90]
call fcn.00433760
cmp dword [esp + 0xa4], 0
jne 0x415109
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x18], 1
mov byte [esp + 0xf0], 0
lea ecx, [esp + 0x90]
call fcn.00402630
xor ebp, ebp
jmp 0x416896
push 0x474168
push ecx
lea eax, [esp + 0x7c]
push eax
push ecx
push str.__last_xpath_
push ecx
push 0x474168
push ecx
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0xb0]
push ecx
push ecx
push str._stepname_
push ecx
push 0x47438c
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], 0
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
mov edi, eax
add esp, 8
lea eax, [esp + 0x58]
call fcn.00412a10
add esp, 4
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
mov edx, dword [esp + 0xa4]
push 1
push 0x474160
push edx
push 0
lea ecx, [esp + 0xa0]
call fcn.00411e60
test eax, eax
jne 0x4153db
cmp ebp, 0xffffffff
jne 0x4152d3
push 0x474270
mov eax, dword [esp + 0x28]
push ecx
push ebx
push ecx
push str._return__
push ecx
push 0x4741e8
push ecx
push eax
push ecx
push 0x4741ec
push ecx
push ebx
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
mov edi, dword [esp + 0x20]
lea ebx, [esp + 0x1c]
call fcn.00440630
mov byte [esp + 0xf0], 0
lea ecx, [esp + 0x90]
call fcn.00402630
xor ebp, ebp
jmp 0x416896
push 0x3b5
push ecx
push str.____from
push ecx
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x84]
push ecx
push ecx
push 0x4741ec
push ecx
push ebx
push ecx
push str._goto_query___
push ecx
push 0x4741e8
push ecx
push edx
push ecx
push 0x4741ec
push ecx
push ebx
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004116b0
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x74]
push eax
push ecx
mov ecx, dword [esp + 0x28]
call fcn.00414cc0
mov byte [esp + 0xf0], 0
lea ecx, [esp + 0x90]
call fcn.00402630
xor ebp, ebp
jmp 0x416896
mov eax, ebx
lea ecx, [esp + 0x90]
call fcn.00411ff0
cmp ebp, 0xffffffff
jne 0x4154e8
push 0x474270
push ecx
push ebx
push ecx
test al, al
je 0x4154cf
mov edx, dword [esp + 0x34]
push str._return__
push ecx
push 0x4741e8
push ecx
push edx
push ecx
push 0x4741ec
push ecx
push ebx
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
mov edi, dword [esp + 0x20]
lea ebx, [esp + 0x1c]
call fcn.00440630
mov byte [esp + 0xf0], 0
lea ecx, [esp + 0x90]
call fcn.00402630
xor ebp, ebp
jmp 0x416896
push str._isnt_match_root__
push ecx
push 0x474270
push ecx
lea eax, [esp + 0xb0]
push eax
jmp 0x415614
test al, al
je 0x4155f8
push 0x3e0
push ecx
push str.____from
push ecx
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x84]
push ecx
push ecx
push 0x4741ec
push ecx
push ebx
push ecx
push str._goto_query___
push ecx
push 0x4741e8
push ecx
push edx
push ecx
push 0x4741ec
push ecx
push ebx
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004116b0
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x74]
push eax
push ecx
mov ecx, dword [esp + 0x28]
call fcn.00414cc0
mov byte [esp + 0xf0], 0
lea ecx, [esp + 0x90]
call fcn.00402630
xor ebp, ebp
jmp 0x416896
push 0x474270
push ecx
push ebx
push ecx
push str._isnt_match_root__
push ecx
push 0x474270
push ecx
lea edx, [esp + 0xb0]
push edx
push ecx
push str.because_stepname_
push ecx
push str.___failed_
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
mov byte [esp + 0xf0], 0
lea ecx, [esp + 0x90]
call fcn.00402630
xor ebp, ebp
jmp 0x416896
mov eax, dword [esp + 0x1c]
call fcn.00412b00
push 0x3fb
push ecx
push str.____from
push ecx
mov edx, dword [esp + 0x34]
mov edi, eax
lea eax, [esp + 0x84]
push eax
push ecx
push 0x4741ec
push ecx
lea ecx, [edi + 0x20]
push ecx
push ecx
push str._goto_query___
push ecx
push 0x4741e8
push ecx
push edx
push ecx
push 0x4741ec
push ecx
push ebx
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004116b0
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
lea eax, [esp + 0x74]
push eax
push edi
mov ecx, dword [esp + 0x28]
call fcn.00414cc0
jmp 0x416896
mov edi, 0xf
mov dword [esp + 0xe0], edi
mov dword [esp + 0xdc], ebp
mov byte [esp + 0xcc], 0
mov byte [esp + 0xf0], 5
mov byte [esp + 0x18], 0x2f
push 1
test al, al
jne 0x4158de
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x7c]
push edx
xor eax, eax
call fcn.00411ca0
mov esi, eax
cmp esi, 0xffffffff
sete al
mov byte [esp + 0x18], al
test al, al
je 0x415829
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0xd4]
call fcn.00403750
lea eax, [esp + 0x74]
call fcn.00411570
jmp 0x415a3f
push esi
lea ecx, [esp + 0x94]
push ecx
xor ecx, ecx
lea edx, [esp + 0x7c]
call fcn.00411640
mov byte [esp + 0xf0], 6
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0xd4]
call fcn.00403750
mov byte [esp + 0xf0], 5
cmp dword [esp + 0xa8], 0x10
jb 0x415877
mov edx, dword [esp + 0x94]
push edx
call fcn.0044afbb
add esp, 4
push 0xffffffffffffffff
lea eax, [esp + 0x94]
lea ecx, [esi + 1]
push eax
lea edx, [esp + 0x7c]
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], ebp
mov byte [esp + 0x9c], 0
call fcn.00411640
mov byte [esp + 0xf0], 7
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x80]
call fcn.00403750
mov byte [esp + 0xf0], 5
cmp dword [esp + 0xa8], 0x10
jb 0x415a29
mov ecx, dword [esp + 0x94]
push ecx
jmp 0x415a21
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x7c]
push eax
mov eax, 2
call fcn.00411ca0
mov esi, eax
cmp esi, 0xffffffff
sete al
mov byte [esp + 0x18], al
push esi
lea edx, [esp + 0x78]
test al, al
je 0x415977
lea ecx, [esp + 0x94]
push ecx
mov ecx, 2
call fcn.00411640
mov byte [esp + 0xf0], 8
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0xd4]
call fcn.00403750
mov byte [esp + 0xf0], 5
cmp dword [esp + 0xa8], 0x10
jb 0x415953
mov edx, dword [esp + 0x94]
push edx
call fcn.0044afbb
add esp, 4
lea eax, [esp + 0x74]
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa4], ebp
mov byte [esp + 0x94], 0
call fcn.00411570
jmp 0x415a3f
lea eax, [esp + 0x94]
push eax
mov ecx, 2
call fcn.00411640
mov byte [esp + 0xf0], 9
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0xd4]
call fcn.00403750
mov byte [esp + 0xf0], 5
cmp dword [esp + 0xa8], 0x10
jb 0x4159c3
mov ecx, dword [esp + 0x94]
push ecx
call fcn.0044afbb
add esp, 4
push 0xffffffffffffffff
lea edx, [esp + 0x94]
push edx
lea ecx, [esi + 1]
lea edx, [esp + 0x7c]
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], ebp
mov byte [esp + 0x9c], 0
call fcn.00411640
mov byte [esp + 0xf0], 0xa
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x80]
call fcn.00403750
mov byte [esp + 0xf0], 5
cmp dword [esp + 0xa8], 0x10
jb 0x415a29
mov eax, dword [esp + 0x94]
push eax
call fcn.0044afbb
add esp, 4
mov byte [esp + 0x94], 0
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa8], edi
lea ecx, [esp + 0xc8]
call fcn.00433760
cmp dword [esp + 0xdc], ebp
jne 0x415a89
mov dword [ebx + 0x18], 1
mov byte [esp + 0xf0], 0
cmp dword [esp + 0xe0], 0x10
jb 0x415a7d
mov ecx, dword [esp + 0xcc]
push ecx
call fcn.0044afbb
add esp, 4
mov dword [esp + 0xe0], edi
jmp 0x416887
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc0], ebp
mov byte [esp + 0xb0], 0
mov byte [esp + 0xf0], 0xb
lea edx, [esp + 0x3c]
push edx
call fcn.00417930
mov byte [esp + 0xf0], 0xc
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0xcc]
push ecx
lea edx, [esp + 0xb4]
lea ecx, [esp + 0x30]
call fcn.00413780
mov dword [ebx + 0x18], eax
cmp eax, ebp
je 0x415bb5
push str._parse_expr___failed__error:
push ecx
push str.___
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
mov dword [esp + 0x50], eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
mov esi, eax
add esp, 8
lea eax, [esp + 0x28]
call fcn.00412df0
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
mov byte [esp + 0xf0], 0xb
lea edx, [esp + 0x3c]
push edx
call fcn.004179a0
mov byte [esp + 0xf0], 5
mov esi, 0x10
cmp dword [esp + 0xc4], esi
jb 0x415b8b
mov eax, dword [esp + 0xb0]
push eax
call fcn.0044afbb
add esp, 4
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc0], ebp
mov byte [esp + 0xb0], 0
mov byte [esp + 0xf0], 0
cmp dword [esp + 0xe0], esi
jmp 0x415a6b
push 0x474168
push ecx
mov ebx, dword [esp + 0x30]
lea edx, [esp + 0x7c]
push edx
push ecx
push str.__last_xpath_
push ecx
push 0x474190
push ecx
push ebx
push ecx
push 0x474188
push ecx
lea eax, [esp + 0xdc]
push eax
push ecx
push 0x473094
push ecx
push str.parse_expr___OK_
push ecx
push str.___
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004116b0
add esp, 4
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
cmp ebx, ebp
push 1
push 0x474160
jl 0x415ebb
mov ecx, dword [esp + 0xc8]
push ecx
push ebp
lea ecx, [esp + 0xbc]
call fcn.00411e60
mov esi, dword [esp + 0x1c]
test eax, eax
mov eax, esi
jne 0x415cc2
call fcn.00413150
xor ebp, ebp
jmp 0x415cd3
lea edx, [esp + 0xac]
push ebx
push edx
call fcn.004131e0
add esp, 8
mov ebx, eax
mov dword [esp + 0x28], ebx
cmp ebx, ebp
je 0x4166a6
lea eax, [esp + 0x3c]
push eax
call fcn.00414780
test al, al
je 0x4166a4
cmp byte [esp + 0x18], 0
je 0x415dc7
push 0x474270
push ecx
mov eax, dword [esp + 0x24]
add ebx, 0x20
push ebx
push ecx
push str._return__
push ecx
push 0x4741e8
push ecx
mov ecx, dword [esp + 0x44]
push ecx
push ecx
push 0x4741ec
push ecx
add eax, 0x20
push eax
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
mov edi, dword [esp + 0x20]
lea ebx, [esp + 0x28]
call fcn.00440630
jmp 0x4166a4
push 0x486
lea ecx, [esi + 0x20]
push ecx
push str.____from
push ecx
lea edx, [esp + 0x84]
push edx
push ecx
push 0x4741ec
push ecx
lea eax, [ebx + 0x20]
push eax
mov eax, dword [esp + 0x48]
push ecx
push str._goto_query___
push ecx
push 0x4741e8
push ecx
push eax
push ecx
push 0x4741ec
push ecx
push ecx
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004116b0
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x24]
push ebx
call fcn.00414cc0
jmp 0x4166a4
mov edx, dword [esp + 0xc8]
push edx
push ebp
lea ecx, [esp + 0xbc]
call fcn.00411e60
test eax, eax
jne 0x4161f4
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
cmp esi, ebp
je 0x415efb
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
test eax, eax
jne 0x416035
mov esi, dword [esi + 0x40]
cmp esi, ebp
jne 0x415ee3
xor eax, eax
mov ebx, eax
mov dword [esp + 0x28], ebx
cmp eax, ebp
je 0x4166a4
jmp 0x415f10
lea ecx, [esp + 0x3c]
push ecx
call fcn.00414780
test al, al
je 0x4161b4
mov ecx, dword [esp + 0x1c]
add ecx, 0x20
cmp byte [esp + 0x18], 0
lea eax, [ebx + 0x20]
je 0x416089
push 0x474270
mov edx, dword [esp + 0x28]
push ecx
push eax
push ecx
push str._return__
push ecx
push 0x4741e8
push ecx
push edx
push ecx
push 0x4741ec
push ecx
push ecx
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
mov eax, dword [esi]
mov ecx, dword [eax + 4]
lea eax, [ecx + esi]
xor edi, edi
test byte [eax + 8], 6
jne 0x416005
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0x416005
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x416026
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], 0
jne 0x41601e
or eax, 4
push 0
push eax
call fcn.00401c50
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + 0xc]
test ecx, ecx
jne 0x416043
xor eax, eax
jmp 0x41604b
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
jmp 0x415efd
mov eax, dword [edi + 0x14]
sub eax, ecx
sar eax, 2
mov esi, dword [edi + 0x10]
mov edx, esi
sub edx, ecx
sar edx, 2
cmp edx, eax
jae 0x416066
mov dword [esi], ebx
add esi, 4
mov dword [edi + 0x10], esi
jmp 0x4161b4
cmp ecx, esi
jbe 0x41606f
call fcn.0044afa0
mov eax, dword [edi]
push esi
push eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x40]
push ecx
mov eax, edi
call fcn.00440f10
jmp 0x4161b4
push 0x4aa
push ecx
push str.____from
push ecx
lea edx, [esp + 0x84]
push edx
push ecx
push 0x4741ec
push ecx
push eax
mov eax, dword [esp + 0x48]
push ecx
push str._goto_query___
push ecx
push 0x4741e8
push ecx
push eax
push ecx
push 0x4741ec
push ecx
push ecx
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004116b0
mov esi, eax
push esi
call fcn.00411800
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
lea eax, [edx + esi]
xor edi, edi
test byte [eax + 8], 6
jne 0x416184
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0x416184
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x4161a5
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], 0
jne 0x41619d
or eax, 4
push 0
push eax
call fcn.00401c50
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x74]
push edx
push ebx
call fcn.00414cc0
mov esi, dword [ebx + 0x40]
test esi, esi
je 0x4161d4
jmp 0x4161c0
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
mov ecx, esi
call edx
test eax, eax
jne 0x4161e9
mov esi, dword [esi + 0x40]
test esi, esi
jne 0x4161c0
xor eax, eax
mov ebx, eax
mov dword [esp + 0x28], ebx
test eax, eax
jne 0x415f10
jmp 0x4166a4
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
mov ecx, esi
call edx
jmp 0x4161d6
cmp dword [esp + 0xc4], 0x10
mov ecx, dword [esp + 0xb0]
jae 0x41620c
lea ecx, [esp + 0xb0]
mov esi, dword [esp + 0x1c]
mov eax, esi
call fcn.0041aa30
mov ebx, eax
mov dword [esp + 0x28], ebx
cmp ebx, ebp
jne 0x4162e1
push str._failed
push ecx
push 0x474388
push ecx
lea ecx, [esp + 0xbc]
push ecx
push ecx
push str._FirstChildElement_
push ecx
push 0x474544
push ecx
lea eax, [esi + 0x20]
push eax
push ecx
push 0x474180
push ecx
push str.___
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
call fcn.004028c0
jmp 0x4166a4
lea edx, [esp + 0x3c]
push edx
call fcn.00414780
test al, al
lea eax, [ebx + 0x20]
je 0x41657c
mov ecx, dword [esp + 0x1c]
add ecx, 0x20
cmp byte [esp + 0x18], 0
je 0x41644c
push 0x474270
push ecx
push eax
mov eax, dword [esp + 0x30]
push ecx
push str._return__
push ecx
push 0x4741e8
push ecx
push eax
push ecx
push 0x4741ec
push ecx
push ecx
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
lea eax, [edx + esi]
xor edi, edi
test byte [eax + 8], 6
jne 0x4163d6
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0x4163d6
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x4163f7
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], 0
jne 0x4163ef
or eax, 4
push 0
push eax
call fcn.00401c50
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + 0xc]
test ecx, ecx
jne 0x416406
xor eax, eax
jmp 0x41640e
mov eax, dword [edi + 0x14]
sub eax, ecx
sar eax, 2
mov esi, dword [edi + 0x10]
mov edx, esi
sub edx, ecx
sar edx, 2
cmp edx, eax
jae 0x416429
mov dword [esi], ebx
add esi, 4
mov dword [edi + 0x10], esi
jmp 0x416651
cmp ecx, esi
jbe 0x416432
call fcn.0044afa0
mov eax, dword [edi]
push esi
push eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x40]
push ecx
mov eax, edi
call fcn.00440f10
jmp 0x416651
push 0x4db
push ecx
push str.____from
push ecx
lea edx, [esp + 0x84]
push edx
push ecx
push 0x4741ec
push ecx
push eax
mov eax, dword [esp + 0x48]
push ecx
push str._goto_query___
push ecx
push 0x4741e8
push ecx
push eax
push ecx
push 0x4741ec
push ecx
push ecx
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004116b0
mov esi, eax
push esi
call fcn.00411800
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
lea eax, [edx + esi]
xor edi, edi
test byte [eax + 8], 6
jne 0x416547
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0x416547
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x416568
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], 0
jne 0x416560
or eax, 4
push 0
push eax
call fcn.00401c50
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x74]
push edx
push ebx
call fcn.00414cc0
jmp 0x416651
push str._failed
push ecx
push str._check_predicate__
push ecx
push 0x474544
push ecx
push eax
push ecx
push 0x474180
push ecx
push str.___
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push 0x4742a0
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
mov eax, dword [esi]
mov ecx, dword [eax + 4]
lea eax, [ecx + esi]
xor edi, edi
test byte [eax + 8], 6
jne 0x416630
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0x416630
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x416651
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], 0
jne 0x416649
or eax, 4
push 0
push eax
call fcn.00401c50
cmp dword [esp + 0xc4], 0x10
mov esi, dword [esp + 0xb0]
jae 0x416669
lea esi, [esp + 0xb0]
mov eax, ebx
call fcn.0041a9e0
mov edi, eax
test edi, edi
je 0x416694
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x416743
mov eax, edi
call fcn.0041a9e0
mov edi, eax
test edi, edi
jne 0x416676
xor eax, eax
mov ebx, eax
mov dword [esp + 0x28], ebx
test eax, eax
jne 0x4162e1
xor ebp, ebp
cmp byte [esp + 0x33], 0
je 0x41680c
mov eax, dword [esp + 0x1c]
call fcn.00412730
mov dword [esp + 0x28], eax
cmp eax, ebp
je 0x41680c
mov esi, dword [esp + 0x20]
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
jbe 0x4166d7
call fcn.0044afa0
mov esi, dword [esi]
lea esp, [esp]
mov eax, dword [esp + 0x20]
mov ebx, dword [eax + 0x10]
cmp dword [eax + 0xc], ebx
jbe 0x4166f1
call fcn.0044afa0
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
cmp esi, ebp
je 0x4166ff
cmp esi, eax
je 0x416704
call fcn.0044afa0
cmp edi, ebx
je 0x4167c8
cmp esi, ebp
jne 0x416751
call fcn.0044afa0
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x416721
call fcn.0044afa0
mov eax, dword [esp + 0x28]
cmp eax, dword [edi]
je 0x416759
cmp esi, ebp
jne 0x416755
call fcn.0044afa0
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x41673e
call fcn.0044afa0
add edi, 4
jmp 0x4166e0
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
jmp 0x416696
mov eax, dword [esi]
jmp 0x416717
mov eax, dword [esi]
jmp 0x416734
mov esi, dword [eax + 0x18]
cmp esi, ebp
je 0x416774
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
test eax, eax
jne 0x4167b2
mov esi, dword [esi + 0x40]
cmp esi, ebp
jne 0x416760
xor eax, eax
mov esi, eax
cmp eax, ebp
je 0x4167db
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
push ebx
push esi
mov ecx, edi
call fcn.00414cc0
mov esi, dword [esi + 0x40]
cmp esi, ebp
je 0x4167a8
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
test eax, eax
jne 0x4167bd
mov esi, dword [esi + 0x40]
cmp esi, ebp
jne 0x416794
xor eax, eax
mov esi, eax
cmp eax, ebp
jne 0x416784
jmp 0x4167db
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
jmp 0x416776
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
jmp 0x4167aa
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.00414cc0
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 0x40]
cmp esi, ebp
je 0x4167fe
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
test eax, eax
jne 0x4169c3
mov esi, dword [esi + 0x40]
cmp esi, ebp
jne 0x4167e6
xor eax, eax
mov dword [esp + 0x28], eax
cmp eax, ebp
jne 0x4166c6
mov byte [esp + 0xf0], 0xb
lea ecx, [esp + 0x3c]
push ecx
call fcn.004179a0
mov byte [esp + 0xf0], 5
mov edi, 0x10
cmp dword [esp + 0xc4], edi
jb 0x416844
mov edx, dword [esp + 0xb0]
push edx
call fcn.0044afbb
add esp, 4
mov esi, 0xf
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc0], ebp
mov byte [esp + 0xb0], 0
mov byte [esp + 0xf0], 0
cmp dword [esp + 0xe0], edi
jb 0x416880
mov eax, dword [esp + 0xcc]
push eax
call fcn.0044afbb
add esp, 4
mov dword [esp + 0xe0], esi
mov dword [esp + 0xdc], ebp
mov byte [esp + 0xcc], 0
mov eax, dword [esp + 0x1c]
push str.____n
push ecx
mov ecx, dword [esp + 0x2c]
push ecx
push ecx
push 0x4741ec
push ecx
add eax, 0x20
push eax
push ecx
push 0x4741f4
push ecx
push str.TiXML::TiXmlXPath::query
push ecx
push 0x47420c
push ecx
push str.__TiXmlXPath
push 0x4847e8
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 0xc
push eax
call fcn.004188f0
add esp, 0xc
push eax
call fcn.00408c70
add esp, 8
mov esi, eax
push esi
call fcn.00411800
mov edx, dword [esi]
mov eax, dword [edx + 4]
add eax, esi
xor edi, edi
test byte [eax + 8], 6
jne 0x416941
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0x416941
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
cmp edi, ebp
je 0x416960
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], ebp
jne 0x416959
or eax, 4
push ebp
push eax
call fcn.00401c50
mov dword [esp + 0xf0], 0xffffffff
cmp dword [esp + 0x8c], 0x10
jb 0x416982
mov edx, dword [esp + 0x78]
push edx
call fcn.0044afbb
add esp, 4
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
mov ecx, dword [esp + 0xe8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.0044aab8
add esp, 0xe0
ret 8
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
jmp 0x416800