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

Disassembly:
push 0xffffffffffffffff
push 0x1001adb6
mov eax, dword fs:[0]
push eax
sub esp, 0xfd4
mov eax, dword [0x10023050]
xor eax, esp
mov dword [esp + 0xfd0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10023050]
xor eax, esp
push eax
lea eax, [esp + 0xfe8]
mov dword fs:[0], eax
mov eax, dword [esp + 0xff8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0xff0], 2
mov ecx, dword [esp + 0xffc]
push ecx
push str.Try_To_Move__s_Component
push 0
push 0x40
mov esi, 0x10023490
call fcn.10003ad0
mov edx, dword [0x10023afc]
mov eax, dword [edx + 0xc]
add esp, 0x10
mov ecx, 0x10023afc
mov dword [esp + 0x40], 1
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0xff0], 3
mov ecx, dword [esp + 0xffc]
mov edx, dword [esp + 0x1000]
push ecx
push edx
push str._sXMLS_s.xml
lea edi, [esp + 0x28]
call fcn.10002a40
add esp, 0xc
lea eax, [esp + 0x44]
push eax
call fcn.10014510
mov byte [esp + 0xff0], 4
mov ebx, dword [esp + 0x1c]
push ebx
lea ecx, [esp + 0x48]
push ecx
call fcn.100145c0
push ebx
lea edx, [esp + 0x48]
push edx
call fcn.100145c0
test al, al
jne 0x100083f3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push str.Load_XML_Failed_file_s_Error_d
push 0
push 0x80
call fcn.10003ad0
add esp, 0x14
mov byte [esp + 0xff0], 3
mov eax, dword [esp + 0x78]
mov dword [esp + 0x44], vtable.TiXmlDocument.0
cmp eax, 0x10023e94
je 0x1000833b
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
lea ecx, [esp + 0x44]
call fcn.10013db0
lea eax, [ebx - 0x10]
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0xff0], 2
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008368
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xff0], 1
mov eax, dword [esp + 0xffc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008393
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xff0], 0
mov eax, dword [esp + 0x1000]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100083be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0xff0], 0xffffffff
mov eax, dword [esp + 0x1004]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100083ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x10008aae
mov esi, dword [esp + 0x5c]
test esi, esi
je 0x10008429
jmp 0x10008400
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
test eax, eax
jne 0x10008416
mov esi, dword [esi + 0x28]
test esi, esi
jne 0x10008400
jmp 0x10008429
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
mov esi, eax
mov dword [esp + 0x38], esi
test esi, esi
jne 0x10008447
push str.RootElement_Faild_TiRoot_NULL
push 0
push 0x80
mov esi, 0x10023490
call fcn.10003ad0
add esp, 0xc
jmp 0x10008317
mov edx, dword [0x10023afc]
mov eax, dword [edx + 0xc]
mov ecx, 0x10023afc
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
lea edi, [esi + 0x2c]
mov esi, str.VERSION
mov byte [esp + 0xff0], 5
call fcn.100151b0
test eax, eax
je 0x10008485
mov ecx, dword [eax + 0x18]
add ecx, 8
test ecx, ecx
jne 0x1000848b
xor eax, eax
jmp 0x10008499
xor ecx, ecx
xor eax, eax
jmp 0x10008499
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10008490
sub eax, esi
mov edi, eax
push ecx
lea eax, [esp + 0x28]
call fcn.10004760
mov ebp, dword [esp + 0x24]
push str.24.99.99.99
push ebp
call dword [sym.imp.MSVCR90.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x100084fe
push str.the_ver_is_24.99.99.99__no_need_copy_return
push eax
push 0x40
mov esi, 0x10023490
call fcn.10003ad0
lea eax, [ebp - 0x10]
add esp, 0xc
mov byte [esp + 0xff0], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008317
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x10008317
mov eax, dword [esp + 0x38]
mov esi, str.FILES
call fcn.10013f10
mov edi, eax
test edi, edi
je 0x10008540
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x10008533
mov esi, str.FILES
mov eax, edi
call fcn.10013f60
mov edi, eax
test edi, edi
jne 0x10008512
jmp 0x10008540
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x10008591
push ebx
push str._s_have_no_files_
push 0
push 0x40
mov esi, 0x10023490
call fcn.10003ad0
lea eax, [ebp - 0x10]
add esp, 0x10
mov byte [esp + 0xff0], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1000857b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x44]
mov byte [esp + 0xff0], 3
call fcn.10004c00
jmp 0x10008344
mov esi, str.ITEM
call fcn.10013f10
mov edi, eax
test edi, edi
je 0x100085c4
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x10008632
mov esi, str.ITEM
mov eax, edi
call fcn.10013f60
mov edi, eax
test edi, edi
jne 0x100085a1
xor eax, eax
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1000863d
push ebx
push str._s_have_no_files_
push eax
push 0x40
mov esi, 0x10023490
call fcn.10003ad0
add esp, 0x10
lea eax, [esp + 0x24]
call fcn.10002a20
lea ecx, [esp + 0x44]
mov byte [esp + 0xff0], 3
call fcn.10004c00
lea eax, [esp + 0x1c]
call fcn.10002a20
lea eax, [esp + 0xffc]
call fcn.10002a20
lea eax, [esp + 0x1000]
call fcn.10002a20
lea eax, [esp + 0x1004]
call fcn.10002a20
xor eax, eax
jmp 0x10008aae
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
jmp 0x100085c6
lea esi, [esp + 0x20]
call fcn.10002a00
lea esi, [esp + 0x30]
call fcn.10002a00
lea esi, [esp + 0x2c]
call fcn.10002a00
lea esi, [esp + 0x28]
call fcn.10002a00
mov esi, dword [esp + 0x3c]
add esi, 8
push esi
mov ecx, 0x1001c77c
mov byte [esp + 0xff4], 9
call fcn.10004590
test eax, eax
jne 0x100086b6
push 0x1001c77c
push ecx
call fcn.10005760
add esp, 4
push eax
call fcn.10005410
push 0x1001c77c
call fcn.10005300
add esp, 4
test eax, eax
jne 0x100086a9
mov eax, 0x1001c77c
mov edx, eax
lea ebx, [esp + 0x28]
call fcn.10004550
jmp 0x100086c1
mov eax, esi
lea ebx, [esp + 0x28]
call fcn.1000c020
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0xffc]
push edi
push ecx
push str.MoveSingleComponent__s_strTempKey__s
push 0
push 0x80
mov esi, 0x10023490
call fcn.10003ad0
add esp, 0x14
push edi
lea esi, [esp + 0x90]
call fcn.10010920
mov byte [esp + 0xff0], 0xa
mov eax, dword [esp + 0x1000]
mov ebx, esi
call fcn.10011740
lea ebx, [ebx]
mov edx, dword [0x10023afc]
mov eax, dword [edx + 0xc]
mov ecx, 0x10023afc
call eax
add eax, 0x10
mov dword [esp + 0x34], eax
mov byte [esp + 0xff0], 0xb
mov ebp, dword [esp + 0x18]
add ebp, 0x2c
mov esi, str.PATH
mov edi, ebp
call fcn.100151b0
test eax, eax
je 0x10008754
mov ecx, dword [eax + 0x18]
add ecx, 8
test ecx, ecx
jne 0x1000875a
xor eax, eax
jmp 0x10008769
xor ecx, ecx
xor eax, eax
jmp 0x10008769
mov eax, ecx
lea esi, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10008760
sub eax, esi
mov edi, eax
push ecx
lea eax, [esp + 0x38]
call fcn.10004760
push 0x103
lea ecx, [esp + 0xee1]
push 0
push ecx
mov byte [esp + 0xee8], 0
call sub.MSVCR90.dll_memset
mov ecx, dword [esp + 0x40]
add esp, 0xc
lea edx, [esp + 0xedc]
push edx
lea edx, [esp + 0x90]
call fcn.10010aa0
mov esi, str.SOURCEPATH
mov edi, ebp
call fcn.100151b0
test eax, eax
je 0x100087ca
mov ecx, dword [eax + 0x18]
add ecx, 8
test ecx, ecx
jne 0x100087d0
xor eax, eax
jmp 0x100087de
xor ecx, ecx
xor eax, eax
jmp 0x100087de
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100087d5
sub eax, esi
mov edi, eax
push ecx
lea eax, [esp + 0x34]
call fcn.10004760
mov ebx, dword [esp + 0x30]
mov esi, str.FILENAME
mov edi, ebp
call fcn.100151b0
cmp dword [ebx - 0xc], 0
je 0x10008867
test eax, eax
je 0x1000880c
mov eax, dword [eax + 0x18]
add eax, 8
jmp 0x1000880e
xor eax, eax
push eax
lea eax, [esp + 0xee0]
push eax
push 0x1001d78c
lea edi, [esp + 0x2c]
call fcn.10002a40
add esp, 0xc
mov esi, str.FILENAME
mov edi, ebp
call fcn.100151b0
test eax, eax
je 0x10008840
mov eax, dword [eax + 0x18]
add eax, 8
jmp 0x10008842
xor eax, eax
mov ecx, dword [esp + 0xffc]
mov edx, dword [esp + 0x1004]
push eax
push ebx
push ecx
push edx
push str._s_s_s_s
lea edi, [esp + 0x40]
call fcn.10002a40
add esp, 0x14
jmp 0x100088cb
test eax, eax
je 0x10008873
mov eax, dword [eax + 0x18]
add eax, 8
jmp 0x10008875
xor eax, eax
push eax
lea eax, [esp + 0xee0]
push eax
push 0x1001d78c
lea edi, [esp + 0x2c]
call fcn.10002a40
add esp, 0xc
mov esi, str.FILENAME
mov edi, ebp
call fcn.100151b0
test eax, eax
je 0x100088a7
mov eax, dword [eax + 0x18]
add eax, 8
jmp 0x100088a9
xor eax, eax
mov ecx, dword [esp + 0xffc]
mov edx, dword [esp + 0x1004]
push eax
push ecx
push edx
push str._s_s_s
lea edi, [esp + 0x3c]
call fcn.10002a40
add esp, 0x10
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x20]
call fcn.10017540
push esi
push edi
mov esi, 0x10023490
test eax, eax
jne 0x100088fa
push str.CopyFile_error_from__s__to__s_skip_This_Component
push eax
push 0x40
call fcn.10003ad0
mov dword [esp + 0x54], 0
jmp 0x1000890b
push str.CopyFile_from__s__to__s
push 0
push 0x80
call fcn.10003ad0
mov byte [esp + 0x1004], 0xa
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
add esp, 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008936
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx + 0x28]
test esi, esi
je 0x10008955
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
test eax, eax
jne 0x100089b9
mov esi, dword [esi + 0x28]
test esi, esi
jne 0x10008941
xor eax, eax
mov dword [esp + 0x18], eax
test eax, eax
jne 0x10008710
cmp dword [esp + 0x40], eax
je 0x100089e8
lea esi, [esp + 0x18]
call fcn.10002a00
mov byte [esp + 0xff0], 0xc
mov eax, dword [esp + 0xffc]
mov ecx, dword [esp + 0x1004]
push eax
push eax
push ecx
push str._s_s_s.xml
mov edi, esi
call fcn.10002a40
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
add esp, 0x10
call fcn.10017540
push esi
push edi
mov esi, 0x10023490
test eax, eax
jne 0x100089c4
push str.CopyFile_error_from__s__to__s
jmp 0x100089c9
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
jmp 0x10008957
push str.CopyFile_from__s__to__s
push 0
push 0x40
call fcn.10003ad0
add esp, 0x14
lea eax, [esp + 0x18]
mov byte [esp + 0xff0], 0xa
call fcn.10002a20
jmp 0x10008a09
mov edx, dword [esp + 0xffc]
push edx
push str.Copy__s_Component_Filed_Donot_Copy_Components_XML
push 0
push 0x80
mov esi, 0x10023490
call fcn.10003ad0
add esp, 0x10
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x1004]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.1000c1b0
mov ecx, dword [esp + 0x44]
add eax, 0x10
push ecx
mov dword [esi], eax
call fcn.10008ae0
lea eax, [esp + 0x28]
mov dword [esp + 0x8c], vtable.CMacroToPath.0
call fcn.10002a20
lea eax, [esp + 0x2c]
call fcn.10002a20
lea eax, [esp + 0x30]
call fcn.10002a20
lea eax, [esp + 0x20]
call fcn.10002a20
lea eax, [esp + 0x24]
call fcn.10002a20
lea ecx, [esp + 0x44]
mov byte [esp + 0xff0], 3
call fcn.10004c00
lea eax, [esp + 0x1c]
call fcn.10002a20
lea eax, [esp + 0xffc]
call fcn.10002a20
lea eax, [esp + 0x1000]
call fcn.10002a20
lea eax, [esp + 0x1004]
call fcn.10002a20
mov eax, 1
mov ecx, dword [esp + 0xfe8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xfd0]
xor ecx, esp
call fcn.100192c6
add esp, 0xfe0
ret 0x10