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

Disassembly:
push 0xffffffffffffffff
push 0x4c8c79
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
mov eax, dword [0x4f8458]
xor eax, esp
mov dword [esp + 0x188], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4f8458]
xor eax, esp
push eax
lea eax, [esp + 0x1a0]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x24], edi
mov esi, edx
call fcn.00408200
lea ecx, [esp + 0xcc]
call fcn.0048ffb0
xor edi, edi
mov dword [esp + 0x1a8], edi
mov eax, esi
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x4083d0
sub eax, edx
sar eax, 1
push eax
push esi
lea esi, [esp + 0x78]
call fcn.004028c0
mov eax, esi
push eax
lea ebx, [esp + 0x168]
mov byte [esp + 0x1ac], 1
call fcn.004c3400
add esp, 4
mov byte [esp + 0x1a8], 3
cmp dword [esp + 0x88], 8
jb 0x408423
mov ecx, dword [esp + 0x74]
push ecx
call fcn.00493b60
add esp, 4
mov eax, dword [esp + 0x168]
xor ebx, ebx
mov esi, 0x10
cmp dword [esp + 0x17c], esi
mov edi, 7
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], ebx
mov word [esp + 0x74], bx
jae 0x408459
lea eax, [esp + 0x168]
push ebx
push eax
lea ecx, [esp + 0xd4]
call fcn.00490c70
test al, al
jne 0x4084dd
cmp dword [esp + 0x17c], esi
jb 0x408484
mov edx, dword [esp + 0x168]
push edx
call fcn.00493b60
add esp, 4
mov dword [esp + 0x1a8], 0xffffffff
mov eax, dword [esp + 0x100]
cmp eax, 0x4fe900
mov dword [esp + 0xcc], vtable.TiXmlDocument.0
mov byte [esp + 0x168], bl
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], 0xf
je 0x4084ca
push eax
call fcn.0049459d
add esp, 4
lea ecx, [esp + 0xcc]
call fcn.0048fce0
xor eax, eax
jmp 0x408b4f
push str.root
lea ecx, [esp + 0xd0]
call fcn.0048f570
cmp eax, ebx
jne 0x408508
cmp dword [esp + 0x17c], esi
jb 0x408484
mov eax, dword [esp + 0x168]
push eax
jmp 0x40847c
push str.soft
mov ecx, eax
call fcn.0048f570
mov ebp, eax
cmp ebp, ebx
mov dword [esp + 0x14], ebp
je 0x408a79
jmp 0x408528
mov ebp, dword [esp + 0x14]
push 0x4d3be8
mov ecx, ebp
call fcn.0048fe10
test eax, eax
mov ecx, ebp
jne 0x408549
push str.soft
call fcn.0048f5b0
jmp 0x408a6d
push 0x4d3bf0
call fcn.0048fe10
test eax, eax
mov ecx, ebp
jne 0x408568
push str.soft
call fcn.0048f5b0
jmp 0x408a6d
push 0x4d3bf4
call fcn.0048fe10
test eax, eax
mov ecx, ebp
jne 0x408587
push str.soft
call fcn.0048f5b0
jmp 0x408a6d
push str.softclass
call fcn.0048fe10
test eax, eax
jne 0x4085a6
push str.soft
mov ecx, ebp
call fcn.0048f5b0
jmp 0x408a6d
push 0x5c
call fcn.00493af6
add esp, 4
cmp eax, ebx
je 0x4085df
mov dword [eax + 0x1c], edi
mov dword [eax + 0x18], ebx
mov word [eax + 8], bx
mov dword [eax + 0x38], edi
mov dword [eax + 0x34], ebx
mov word [eax + 0x24], bx
mov dword [eax + 0x54], edi
mov dword [eax + 0x50], ebx
mov word [eax + 0x40], bx
mov esi, eax
mov dword [eax], ebx
mov dword [eax + 0x58], ebx
mov dword [esp + 0x1c], esi
jmp 0x4085e5
mov dword [esp + 0x1c], ebx
mov esi, ebx
push 0x4d3be8
mov ecx, ebp
mov dword [esp + 0x48], esi
call fcn.0048fe10
push eax
lea ecx, [esp + 0x50]
call fcn.004040d0
lea ecx, [esp + 0x28]
push ecx
lea eax, [esp + 0x50]
mov byte [esp + 0x1ac], 4
call fcn.004c3330
add esp, 4
push 0xffffffffffffffff
lea ecx, [esi + 4]
push ebx
mov byte [esp + 0x1b0], 5
call fcn.00402780
cmp dword [esp + 0x40], 8
jb 0x40863f
mov edx, dword [esp + 0x2c]
push edx
call fcn.00493b60
add esp, 4
mov dword [esp + 0x40], edi
mov edi, 0x10
mov byte [esp + 0x1a8], 3
cmp dword [esp + 0x64], edi
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
jb 0x40866c
mov eax, dword [esp + 0x50]
push eax
call fcn.00493b60
add esp, 4
push str.softclass
mov ecx, ebp
call fcn.0048fe10
push eax
lea ecx, [esp + 0x50]
call fcn.004040d0
lea ecx, [esp + 0x28]
push ecx
lea eax, [esp + 0x50]
mov byte [esp + 0x1ac], 6
call fcn.004c3330
add esp, 4
push 0xffffffffffffffff
lea ecx, [esi + 0x3c]
push ebx
mov byte [esp + 0x1b0], 7
call fcn.00402780
cmp dword [esp + 0x40], 8
jb 0x4086c2
mov edx, dword [esp + 0x2c]
push edx
call fcn.00493b60
add esp, 4
mov byte [esp + 0x1a8], 3
cmp dword [esp + 0x64], edi
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
jb 0x4086ee
mov eax, dword [esp + 0x50]
push eax
call fcn.00493b60
add esp, 4
push 0x4d3bf4
mov ecx, ebp
call fcn.0048fe10
push eax
lea ecx, [esp + 0x50]
call fcn.004040d0
lea ecx, [esp + 0x28]
push ecx
lea eax, [esp + 0x50]
mov byte [esp + 0x1ac], 8
call fcn.004c3330
add esp, 4
push 0xffffffffffffffff
lea edi, [esi + 0x20]
push ebx
mov ecx, edi
mov byte [esp + 0x1b0], 9
call fcn.00402780
cmp dword [esp + 0x40], 8
jb 0x408746
mov edx, dword [esp + 0x2c]
push edx
call fcn.00493b60
add esp, 4
mov byte [esp + 0x1a8], 3
cmp dword [esp + 0x64], 0x10
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
jb 0x408773
mov eax, dword [esp + 0x50]
push eax
call fcn.00493b60
add esp, 4
lea ebx, [esp + 0x150]
call fcn.00403760
lea ebx, [esp + 0x148]
mov esi, eax
call fcn.004037b0
lea ebx, [esp + 0x120]
mov dword [esp + 0x18], eax
call fcn.00403760
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
push edx
mov edx, dword [eax + 4]
mov eax, dword [eax]
push ecx
push edx
push eax
lea esi, [esp + 0x158]
call fcn.00403830
mov ecx, dword [esp + 0x34]
add esp, 0x18
push ecx
push 0x4d3bf0
mov ecx, ebp
call fcn.0048fe30
mov esi, dword [esp + 0x24]
lea ebx, [esp + 0x44]
call fcn.00409060
push str.item
mov ecx, ebp
call fcn.0048f570
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x408a5c
jmp 0x408804
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x408a44
mov edx, dword [ecx + 0x20]
add edx, 8
je 0x408a44
mov ecx, dword [ecx + 0x20]
add ecx, 8
mov edi, 0xf
mov eax, ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x408837
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x30]
call fcn.00403fd0
lea eax, [esp + 0x180]
push eax
lea eax, [esp + 0x2c]
mov byte [esp + 0x1ac], 0xa
call fcn.004c3330
add esp, 4
mov byte [esp + 0x1a8], 0xc
cmp dword [esp + 0x40], 0x10
jb 0x408885
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00493b60
add esp, 4
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
lea ebx, [esp + 0x118]
lea edi, [esp + 0x180]
call fcn.00403760
mov esi, dword [eax]
mov ebp, dword [eax + 4]
lea ebx, [esp + 0x138]
call fcn.004037b0
mov edx, dword [eax]
mov eax, dword [eax + 4]
lea ebx, [esp + 0x130]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
call fcn.00403760
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ebp
push esi
mov byte [esp + 0x28], 0
mov edx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x2c]
push ecx
push edx
lea ecx, [esp + 0x13c]
push ecx
mov ebx, eax
call fcn.00403910
mov edx, dword [esp + 0x34]
add esp, 0x18
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x64], esp
xor edi, edi
push 0xffffffffffffffff
mov ebx, 7
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x14], edi
push edi
lea eax, [esp + 0x1a8]
mov word [ecx + 4], di
call fcn.00402780
lea esi, [esp + 0xcc]
call fcn.00409840
add esp, 0x20
mov esi, eax
mov byte [esp + 0x1a8], 0xd
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0x94]
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa8], edi
mov word [esp + 0x98], di
call fcn.00402780
mov eax, dword [esi + 0x1c]
mov dword [esp + 0xa8], eax
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x158]
push ecx
add edx, 0x10
push edx
lea ebx, [esp + 0x94]
mov byte [esp + 0x1b0], 0xe
call fcn.004090c0
mov esi, 8
cmp dword [esp + 0xa4], esi
jb 0x4089b7
mov eax, dword [esp + 0x90]
push eax
call fcn.00493b60
add esp, 4
xor edi, edi
cmp dword [esp + 0xc4], esi
mov ebx, 7
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa0], edi
mov word [esp + 0x90], di
jb 0x4089ed
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.00493b60
add esp, 4
mov byte [esp + 0x1a8], 3
cmp dword [esp + 0x198], esi
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc0], edi
mov word [esp + 0xb0], di
jb 0x408a24
mov edx, dword [esp + 0x184]
push edx
call fcn.00493b60
add esp, 4
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x198], ebx
mov dword [esp + 0x194], edi
mov word [esp + 0x184], di
xor ebx, ebx
push str.item
mov ecx, eax
call fcn.0048f5b0
cmp eax, ebx
mov dword [esp + 0x18], eax
jne 0x408800
push str.soft
mov ecx, ebp
call fcn.0048f5b0
xor ebx, ebx
lea edi, [ebx + 7]
cmp eax, ebx
mov dword [esp + 0x14], eax
jne 0x408524
mov edi, dword [esp + 0x24]
mov esi, dword [edi + 4]
cmp esi, ebx
jne 0x408a88
xor ebp, ebp
jmp 0x408a90
mov ebp, dword [edi + 8]
sub ebp, esi
sar ebp, 2
cmp esi, dword [edi + 8]
jbe 0x408aa0
call fcn.0049458d
lea ebx, [ebx]
mov eax, dword [edi + 8]
cmp dword [edi + 4], eax
mov dword [esp + 0x20], eax
jbe 0x408ab5
call fcn.0049458d
mov eax, dword [esp + 0x20]
cmp esi, eax
je 0x408ade
cmp esi, dword [edi + 8]
jb 0x408ac3
call fcn.0049458d
mov eax, dword [esi]
cmp eax, ebx
je 0x408acc
mov dword [eax + 0x58], ebp
cmp esi, dword [edi + 8]
jb 0x408ad6
call fcn.0049458d
add esi, 4
sub ebp, 1
jmp 0x408aa0
cmp dword [esp + 0x17c], 0x10
jb 0x408af8
mov eax, dword [esp + 0x168]
push eax
call fcn.00493b60
add esp, 4
mov dword [esp + 0x1a8], 0xffffffff
mov eax, dword [esp + 0x100]
cmp eax, 0x4fe900
mov dword [esp + 0x17c], 0xf
mov dword [esp + 0x178], ebx
mov byte [esp + 0x168], bl
mov dword [esp + 0xcc], vtable.TiXmlDocument.0
je 0x408b3e
push eax
call fcn.0049459d
add esp, 4
lea ecx, [esp + 0xcc]
call fcn.0048fce0
mov eax, 1
mov ecx, dword [esp + 0x1a0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x188]
xor ecx, esp
call fcn.00493b65
add esp, 0x198
ret