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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x7abf03
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x28
push ebx
push esi
push edi
mov ebx, ecx
mov eax, dword [ebp + 0x14]
xor esi, esi
cmp eax, esi
mov dword [esp + 0x3c], esi
lea edi, [ebx + 0x78]
jne 0x72fbd6
lea edi, [ebx + 0x6c]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, dword [edi + 4]
jge 0x72fbee
mov ecx, dword [edi]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x10], edx
jmp 0x72fd08
push 0x3b8
call fcn.0076dbd6
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov byte [esp + 0x3c], 1
je 0x72fc11
mov ecx, eax
call fcn.00716780
mov esi, eax
mov eax, dword [edi + 8]
cmp dword [edi + 4], eax
mov byte [esp + 0x3c], 0
mov dword [esp + 0x10], esi
jne 0x72fc37
test eax, eax
je 0x72fc2a
add eax, eax
jmp 0x72fc2f
mov eax, 0x10
push eax
mov ecx, edi
call fcn.006229b0
mov eax, dword [edi + 4]
mov ecx, dword [edi]
mov dword [ecx + eax*4], esi
mov ecx, dword [edi + 4]
mov eax, dword [ebp + 0x14]
inc ecx
test eax, eax
mov dword [edi + 4], ecx
mov byte [esi + 0x58], 0xff
je 0x72fca1
mov ecx, dword [ebx + 0x30d8]
mov edx, dword [ecx]
call dword [edx + 0x58]
movzx ecx, byte [ebx + 0x30cc]
shl ecx, 1
mov edx, ecx
mov ecx, dword [ebx + 0x30a0]
sub ecx, edx
mov edx, dword [esi]
push ecx
lea ecx, [eax + 0xe8]
push ecx
lea ecx, [eax + 0x70]
push ecx
add eax, 0x160
push eax
mov ecx, esi
call dword [edx + 0xa0]
push fcn.0072d650
push ebx
push 0x27
mov ecx, esi
call fcn.0041a350
push fcn.0072d650
jmp 0x72fcef
mov ecx, dword [ebx + 0x2de8]
mov edx, dword [ecx]
call dword [edx + 0x58]
movzx ecx, byte [ebx + 0x2ddc]
shl ecx, 1
mov edx, ecx
mov ecx, dword [ebx + 0x2db0]
sub ecx, edx
mov edx, dword [esi]
push ecx
lea ecx, [eax + 0xe8]
push ecx
lea ecx, [eax + 0x70]
push ecx
add eax, 0x160
push eax
mov ecx, esi
call dword [edx + 0xa0]
push fcn.0072b1b0
push ebx
push 0x27
mov ecx, esi
call fcn.0041a350
push fcn.0072b1b0
push ebx
mov ecx, esi
push 0x2d
call fcn.0041a350
push 0x72b4f0
push ebx
push 0
mov ecx, esi
call fcn.0041a350
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x72ff8f
mov edx, dword [0x828508]
mov eax, dword [edx + 0x130]
mov edi, dword [eax + 0x140]
lea ecx, [esp + 0x20]
call fcn.005ff150
mov eax, dword [edi + 0x24]
xor esi, esi
test eax, eax
mov byte [esp + 0x3c], 2
jle 0x72ff7b
push str.label
lea ecx, [esp + 0x1c]
call fcn.00630ba0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x1c]
push ecx
push esi
mov ecx, edi
mov byte [esp + 0x48], 3
call fcn.0041d1f0
mov ebx, eax
neg ebx
sbb bl, bl
lea ecx, [esp + 0x18]
inc bl
mov byte [esp + 0x3c], 2
call fcn.00630d30
test bl, bl
lea ecx, [esp + 0x20]
jne 0x72fd9d
lea edx, [ebp + 0x18]
push edx
call fcn.00631620
test eax, eax
jne 0x72fdac
mov eax, dword [edi + 0x24]
inc esi
cmp esi, eax
jl 0x72fd40
jmp 0x72ff7b
mov byte [esp + 0x3c], 0
call fcn.00630d30
jmp 0x73004a
or eax, 0xffffffff
cmp esi, eax
je 0x72ff7b
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x3b0], esi
push str.base_skill
lea ecx, [esp + 0x2c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
call fcn.00630ba0
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x2c]
push eax
push esi
mov ecx, edi
mov byte [esp + 0x48], 4
call fcn.0041d640
mov ebx, eax
neg ebx
sbb bl, bl
lea ecx, [esp + 0x28]
inc bl
mov byte [esp + 0x3c], 2
call fcn.00630d30
test bl, bl
jne 0x72fe47
push str.skillLevel
lea ecx, [esp + 0x2c]
call fcn.00630ba0
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x2c]
push edx
push esi
mov ecx, edi
mov byte [esp + 0x48], 5
call fcn.0041d640
mov ebx, eax
neg ebx
sbb bl, bl
lea ecx, [esp + 0x28]
inc bl
mov byte [esp + 0x3c], 2
call fcn.00630d30
test bl, bl
je 0x72fe5a
lea ecx, [esp + 0x20]
mov byte [esp + 0x3c], 0
call fcn.00630d30
jmp 0x73004a
mov eax, dword [0x8284d4]
mov esi, dword [eax + 8]
mov ecx, esi
call fcn.004dc3a0
push eax
mov ecx, esi
call fcn.004dc000
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x1198]
push 0
push 0
push ecx
mov ecx, eax
call fcn.005f5150
movsx edx, al
mov eax, dword [esp + 0x18]
sub esp, 0xc
cmp eax, edx
jle 0x72ff02
mov eax, dword [0x826e28]
mov ecx, dword [0x826e2c]
mov edx, dword [0x826e30]
mov esi, esp
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
sub esp, 0xc
mov esi, esp
mov dword [esi], eax
mov eax, dword [0x826e10]
mov dword [esi + 4], ecx
mov ecx, dword [0x826e14]
mov dword [esi + 8], edx
mov edx, dword [0x826e18]
sub esp, 0xc
mov esi, esp
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
sub esp, 0xc
mov esi, esp
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
mov esi, dword [esp + 0x40]
mov ecx, esi
call fcn.00715870
mov dword [esi + 0x3b4], 0
jmp 0x72ff7b
mov ecx, dword [0x826e28]
mov edx, dword [0x826e2c]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [0x826e30]
mov dword [eax + 4], edx
mov edx, dword [0x826e84]
mov dword [eax + 8], ecx
mov eax, dword [0x826e7c]
mov ecx, dword [0x826e80]
sub esp, 0xc
mov esi, esp
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
sub esp, 0xc
mov esi, esp
mov dword [esi], eax
mov eax, dword [0x826e88]
mov dword [esi + 4], ecx
mov ecx, dword [0x826e8c]
mov dword [esi + 8], edx
mov esi, dword [esp + 0x34]
sub esp, 0xc
mov edx, esp
mov dword [edx], eax
mov eax, dword [0x826e90]
mov dword [edx + 4], ecx
mov ecx, esi
mov dword [edx + 8], eax
call fcn.00715870
mov dword [esi + 0x3b4], 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x3c], 0
call fcn.00630d30
mov edi, dword [esp + 0x10]
jmp 0x730002
mov eax, dword [0x826e28]
mov ecx, dword [0x826e2c]
mov edx, dword [0x826e30]
sub esp, 0xc
mov edi, dword [esp + 0x1c]
mov esi, esp
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
sub esp, 0xc
mov esi, esp
mov dword [esi], eax
mov eax, dword [0x826e80]
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
mov edx, dword [0x826e7c]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [0x826e84]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov ecx, dword [0x826e88]
mov edx, dword [0x826e8c]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [0x826e90]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, edi
call fcn.00715870
mov edx, dword [ebp + 0x10]
push 0xffffffffffffffff
push 0
push edx
mov ecx, edi
call fcn.00715900
mov eax, dword [edi]
push 0
mov ecx, edi
call dword [eax + 0x40]
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 8]
cmp dword [esi + 4], eax
jne 0x73003a
test eax, eax
je 0x73002d
add eax, eax
jmp 0x730032
mov eax, 0x10
push eax
mov ecx, esi
call fcn.006229b0
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [ebp + 8]
mov dword [edx + ecx*4], edi
inc dword [esi + 4]
inc dword [eax]
lea ecx, [ebp + 0x18]
mov dword [esp + 0x3c], 0xffffffff
call fcn.00630d30
mov ecx, dword [esp + 0x34]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x18