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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x75861c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1084
call fcn.0071f5d0
push ebx
push esi
xor ebx, ebx
push edi
mov edi, ecx
cmp dword [edi + 8], ebx
mov word [edi + 0x234], bx
mov word [edi + 0x298], bx
je 0x6c8472
mov eax, dword [edi + 0x50c]
mov ecx, dword [0x923cb8]
push eax
call fcn.0062c080
mov esi, eax
cmp esi, ebx
mov dword [esp + 0x14], esi
je 0x6c8472
mov ecx, dword [0x912e94]
mov dx, word [ecx + 0x1ac]
push edx
call fcn.00659140
add esp, 4
cmp eax, ebx
mov dword [esp + 0x38], eax
je 0x6c8472
lea ecx, [esp + 0x44]
mov byte [esp + 0x10], bl
call fcn.004179a0
push ebx
push 1
push esi
push 0x5e07b0
push str.TITLE
lea ecx, [esp + 0x58]
mov dword [esp + 0x10b0], ebx
call fcn.00415b10
push ebx
push 1
push esi
push 0x5e0800
push str.WORKTITLE
lea ecx, [esp + 0x58]
call fcn.00415b10
push ebx
push 1
push esi
push 0x5e06f0
push str.NOBLE
lea ecx, [esp + 0x58]
call fcn.00415b10
mov ecx, esi
call fcn.0062b9b0
test eax, eax
jne 0x6c7e11
mov ecx, esi
call fcn.0062ba70
test eax, eax
jne 0x6c7e11
mov ecx, esi
call fcn.0062b9c0
test eax, eax
je 0x6c7e24
movzx eax, byte [edi + 0x510]
push eax
mov ecx, esi
call fcn.0062b8a0
jmp 0x6c7e20
movzx ecx, byte [edi + 0x510]
push ecx
mov ecx, esi
call fcn.0062b850
mov byte [esp + 0x10], al
movzx esi, byte [esp + 0x10]
push ebx
push 1
shl esi, 0x10
push esi
push 0x6c3e80
push 0x7fc044
lea ecx, [esp + 0x58]
call fcn.00415b10
push ebx
push 1
mov edx, esi
or edx, 1
push edx
push 0x6c3e80
push 0x7fc03c
lea ecx, [esp + 0x58]
call fcn.00415b10
mov eax, esi
or al, 2
push ebx
push 1
lea ecx, [esp + 0x4c]
push eax
push 0x6c3e80
push 0x7fc034
call fcn.00415b10
push ebx
push 1
mov ecx, esi
or ecx, 3
push ecx
push 0x6c3e80
push 0x7fc02c
lea ecx, [esp + 0x58]
call fcn.00415b10
push ebx
push 1
mov edx, esi
or edx, 4
push edx
push 0x6c3e80
push 0x7fc024
lea ecx, [esp + 0x58]
call fcn.00415b10
mov eax, esi
or al, 5
push ebx
push 1
lea ecx, [esp + 0x4c]
push eax
push 0x6c3e80
push 0x7fc01c
call fcn.00415b10
push ebx
push 1
mov ecx, esi
or ecx, 6
push ecx
push 0x6c3e80
push 0x7fc014
lea ecx, [esp + 0x58]
call fcn.00415b10
push ebx
push 1
mov edx, esi
or edx, 7
push edx
push 0x6c3e80
push 0x7fc00c
lea ecx, [esp + 0x58]
call fcn.00415b10
push ebx
push 1
or esi, 8
push esi
push 0x6c3e80
push 0x7fc004
lea ecx, [esp + 0x58]
call fcn.00415b10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
call fcn.0062b7c0
cmp al, 3
mov byte [esp + 0x20], al
mov ecx, dword [esp + 0x20]
sbb esi, esi
push ecx
add esi, 1
call fcn.0062b690
add esp, 4
cmp byte [edi + 0x511], bl
mov dword [esp + 0x1c], eax
je 0x6c7f8a
mov ecx, dword [esp + 0x14]
call fcn.0062b9b0
test eax, eax
je 0x6c7f74
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 1
push edx
call fcn.0062f570
mov dword [esp + 0x18], eax
jmp 0x6c7f8e
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
xor eax, eax
cmp dword [edx + 0x5c], ecx
setge al
mov dword [esp + 0x18], eax
jmp 0x6c7f8e
mov dword [esp + 0x18], ebx
cmp esi, ebx
jne 0x6c7fa1
cmp dword [esp + 0x18], ebx
je 0x6c7fa1
mov dword [edi + 0x24], 3
jmp 0x6c7fa8
mov dword [edi + 0x24], 4
push 0xffffffffffffffff
push 0x7dc3d8
lea ecx, [esp + 0x44]
call fcn.00413870
push 0xffffffffffffffff
push 0x7fc0f4
lea ecx, [esp + 0x38]
mov byte [esp + 0x10a4], 1
call fcn.00413870
push 0xffffffffffffffff
push 0x7fc0f4
lea ecx, [esp + 0x30]
mov byte [esp + 0x10a4], 2
call fcn.00413870
movzx eax, byte [esp + 0x20]
sub eax, 1
mov byte [esp + 0x109c], 3
lea ecx, [esp + 0x3c]
je 0x6c806c
sub eax, 1
push 0x7fc0ec
je 0x6c8033
sub eax, 1
je 0x6c8019
call fcn.00413410
push 0x7fc0ec
jmp 0x6c8098
call fcn.00413410
push 0x7fc0ec
lea ecx, [esp + 0x34]
call fcn.00413410
push 0x7ac8c8
jmp 0x6c80a6
call fcn.00413410
push 0x7ac8c8
lea ecx, [esp + 0x34]
call fcn.00413410
cmp byte [edi + 0x511], bl
je 0x6c8064
cmp dword [esp + 0x18], ebx
je 0x6c805c
mov eax, 0x79ed84
push eax
jmp 0x6c80a6
mov eax, 0x79ed68
push eax
jmp 0x6c80a6
mov eax, 0x7fc0ec
push eax
jmp 0x6c80a6
push 0x7ac8c8
call fcn.00413410
cmp byte [edi + 0x511], bl
je 0x6c8092
cmp dword [esp + 0x18], ebx
je 0x6c808b
mov eax, 0x79ed84
jmp 0x6c8097
mov eax, 0x79ed68
jmp 0x6c8097
mov eax, 0x7fc0ec
push eax
lea ecx, [esp + 0x34]
call fcn.00413410
push 0x7fc0ec
lea ecx, [esp + 0x2c]
call fcn.00413410
mov ecx, dword [0x894420]
push ebx
push ebx
push str.basic
push str.skills
call fcn.00414c00
push eax
lea ecx, [esp + 0x40]
call fcn.00413410
mov ecx, dword [0x894420]
push ebx
push ebx
push str.expert
push str.skills
call fcn.00414c00
push eax
lea ecx, [esp + 0x34]
call fcn.00413410
mov ecx, dword [0x894420]
push ebx
push ebx
push str.master
push str.skills
call fcn.00414c00
push eax
lea ecx, [esp + 0x2c]
call fcn.00413410
mov eax, dword [esp + 0x3c]
push 2
push ebx
push ebx
push eax
push 0x7fbfa8
lea ecx, [esp + 0x58]
call fcn.00415a70
mov ecx, dword [esp + 0x30]
push 2
push ebx
push ebx
push ecx
push 0x7fbfa0
lea ecx, [esp + 0x58]
call fcn.00415a70
mov edx, dword [esp + 0x28]
push 2
push ebx
push ebx
push edx
push 0x7fbf98
lea ecx, [esp + 0x58]
call fcn.00415a70
mov eax, dword [edi + 0x28]
cmp eax, ebx
je 0x6c816d
mov ecx, dword [0x86fb70]
mov edx, dword [ecx]
push eax
call dword [edx + 0xc]
mov dword [edi + 0x28], ebx
cmp byte [esp + 0x10], bl
je 0x6c8190
mov eax, dword [esp + 0x10]
push eax
call fcn.0062b610
push eax
lea ecx, [esp + 0x98]
push ecx
call fcn.0071e658
add esp, 0xc
jmp 0x6c81cf
lea eax, [edi + 0x234]
push str.skillsdescr_assign
push eax
call fcn.0071e658
mov ecx, dword [0x894420]
add esp, 8
push ebx
lea edx, [esp + 0x48]
push edx
push ebx
push ebx
lea eax, [edi + 0x234]
push eax
call fcn.00414e70
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.00415f60
add esp, 0x10
cmp esi, ebx
jne 0x6c8350
cmp byte [edi + 0x511], bl
je 0x6c8350
mov ecx, dword [esp + 0x14]
call fcn.0062b9b0
test eax, eax
mov esi, dword [esp + 0x38]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ebx
mov word [esp + 0x8c], bx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
mov word [esp + 0x70], bx
je 0x6c82c6
lea ecx, [esi + 0x38]
push ecx
lea ecx, [esp + 0x5c]
call fcn.00474c40
mov edx, dword [esi + 0x60]
push edx
push 3
lea ecx, [esp + 0x60]
call fcn.006af6b0
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + 0xb3]
push 0xffffffffffffffff
push ebx
push ecx
push 1
push 0xffffffffffffffff
push ebx
sub esp, 0x1c
lea edx, [esp + 0x8c]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.00580c90
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x58]
push ecx
call fcn.006c5b40
mov edx, dword [esp + 0x5c]
push edx
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x8d4]
push 0x7b3408
push ecx
call fcn.0071f52c
add esp, 0x4c
lea ecx, [esp + 0x20]
call fcn.00412de0
jmp 0x6c8368
lea edx, [esi + 0x38]
push edx
lea ecx, [esp + 0x5c]
call fcn.00474c40
mov eax, dword [esi + 0x60]
push eax
push 3
lea ecx, [esp + 0x60]
call fcn.006af6b0
mov ecx, dword [esp + 0x1c]
push ecx
push 2
lea ecx, [esp + 0x7c]
call fcn.006af6b0
push 0xffffffffffffffff
push ebx
push 0xffffffffffffffff
push ebx
push 0xffffffffffffffff
push ebx
sub esp, 0x1c
lea edx, [esp + 0x8c]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.00580c90
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x58]
push ecx
call fcn.006c5b40
mov edx, dword [esp + 0x5c]
push edx
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x8d4]
push 0x7b3408
push ecx
call fcn.0071f52c
add esp, 0x4c
lea ecx, [esp + 0x20]
call fcn.00412de0
jmp 0x6c8368
lea edx, [esp + 0x90]
push edx
lea eax, [esp + 0x894]
push eax
call fcn.0071f52c
add esp, 8
lea ecx, [esp + 0x890]
push ecx
call fcn.0040fbd0
mov dword [edi + 0x28], eax
mov eax, dword [edi + 0x2c]
add esp, 4
cmp eax, ebx
je 0x6c8391
mov ecx, dword [0x86fb70]
mov edx, dword [ecx]
push eax
call dword [edx + 0xc]
mov dword [edi + 0x2c], ebx
cmp byte [esp + 0x10], bl
je 0x6c83b9
mov eax, dword [esp + 0x10]
push eax
call fcn.0062b5c0
push eax
lea ecx, [esp + 0x98]
push str.skillsdescr__s
push ecx
call fcn.0071f52c
add esp, 0x10
jmp 0x6c83ce
lea edx, [esp + 0x90]
push 0x7fc090
push edx
call fcn.0071f52c
add esp, 8
lea eax, [esp + 0x90]
push eax
lea eax, [edi + 0x298]
push eax
call fcn.0071e658
add esp, 8
push ebx
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [0x894420]
push ebx
push ebx
lea edx, [esp + 0xa0]
push edx
call fcn.00414e70
push eax
lea eax, [esp + 0x89c]
push eax
call fcn.00415f60
lea ecx, [esp + 0x8a0]
push ecx
call fcn.0040fbd0
mov edx, dword [ebp + 8]
add esp, 0x14
push edx
mov ecx, edi
mov dword [edi + 0x2c], eax
call fcn.006c68d0
lea ecx, [esp + 0x28]
mov byte [esp + 0x109c], 2
call fcn.00412de0
lea ecx, [esp + 0x30]
mov byte [esp + 0x109c], 1
call fcn.00412de0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x109c], bl
call fcn.00412de0
lea ecx, [esp + 0x44]
mov dword [esp + 0x109c], 0xffffffff
call fcn.004179c0
mov ecx, dword [esp + 0x1094]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4