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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
mov ebx, ecx
push esi
xor esi, esi
mov eax, dword [ebx + 0x10]
push edi
cmp eax, esi
mov dword [ebp - 0x10], ebx
jne 0x5f2173
push 0xd5d
push 0x7c0d90
push str.m_pMagic
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebx + 0x78]
lea edx, [ebp - 8]
mov dword [ebp - 8], esi
push edx
mov eax, dword [ecx]
push 0x100001
mov dword [ebp - 0xc], esi
call dword [eax + 0x114]
test al, al
je 0x5f23b3
mov ecx, dword [ebx + 0x10]
push 0x8f
mov eax, dword [ecx]
call dword [eax + 0x14]
cmp eax, 1
jne 0x5f22df
xor edi, edi
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], edi
mov esi, dword [ecx + 0x2b8]
test esi, esi
jne 0x5f21e5
push 0x73b
push 0x79bd40
push str.m_pEudemonPackage
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
xor edx, edx
jmp 0x5f2299
mov al, byte [esi + 0x10]
test al, al
je 0x5f2281
mov byte [esi + 0x10], 0
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
mov eax, 0x2aaaaaab
sub ecx, edx
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
lea eax, [edx + eax - 1]
test eax, eax
jl 0x5f2281
lea edi, [eax + eax*2]
lea ebx, [eax + 1]
shl edi, 2
mov ecx, dword [esi + 4]
cmp dword [ecx + edi], 0
jne 0x5f2275
mov edx, str.CAutoLinkSet::Size___AutoDelObj
test edx, edx
je 0x5f224b
push 0x54
push str.....commonAutoLinkSet.h
push str.__CAutoLinkSet::Size___AutoDelObj_
push str.ASSERT
push 0x793720
call fcn.00401080
add esp, 0x14
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
add eax, edi
lea edx, [eax + 0xc]
cmp edx, ecx
je 0x5f2265
push eax
push ecx
push edx
call fcn.0047f570
add esp, 0xc
mov ecx, dword [esi + 8]
push 0
add ecx, 0xfffffff4
mov dword [esi + 8], ecx
call fcn.004815f0
sub edi, 0xc
dec ebx
jne 0x5f221b
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
sub ecx, edx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edi, edx
jge 0x5f23b3
mov ecx, dword [ebp - 8]
push edi
call fcn.00469d60
test eax, eax
je 0x5f22d9
mov edx, dword [eax + 8]
lea ecx, [eax + 8]
call dword [edx + 0x2c8]
mov esi, eax
test esi, esi
je 0x5f22d9
mov ecx, dword [ebx + 0x10]
push 2
mov eax, dword [ecx]
call dword [eax + 0x14]
push eax
mov ecx, esi
call fcn.005ea640
test eax, eax
je 0x5f22d9
inc dword [ebp - 0xc]
inc edi
jmp 0x5f21ad
mov ecx, dword [ebx + 0x10]
push 0x8f
mov edx, dword [ecx]
call dword [edx + 0x14]
cmp eax, 2
jne 0x5f23b3
mov eax, dword [ebx + 0x64]
mov edx, dword [ebx + 0x60]
sub eax, edx
mov dword [ebp - 0x14], esi
sar eax, 3
je 0x5f23b3
mov ecx, dword [ebx + 0x60]
mov eax, dword [ecx + esi*8]
push eax
mov edi, dword [ecx + esi*8 + 4]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x24], edi
call fcn.00469d10
test eax, eax
je 0x5f239c
mov edx, dword [eax + 8]
lea esi, [eax + 8]
mov ecx, esi
call dword [edx + 0x2c8]
mov ebx, eax
test ebx, ebx
je 0x5f2396
mov eax, dword [ebp - 0x10]
push 2
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx]
call dword [edx + 0x14]
push eax
mov ecx, ebx
call fcn.005ea640
test eax, eax
je 0x5f2396
mov eax, dword [ebp - 8]
mov edx, dword [eax + 8]
lea ecx, [eax + 8]
call dword [edx + 0x1c]
mov ebx, eax
mov eax, dword [esi]
and edi, 0xffff
mov ecx, esi
add ebx, edi
call dword [eax + 0x1c]
cmp eax, ebx
jne 0x5f2396
mov ecx, dword [ebp - 8]
add ecx, 8
mov edx, dword [ecx]
call dword [edx + 0x20]
mov edx, dword [esi]
mov edi, eax
mov eax, dword [ebp - 0x22]
mov ecx, esi
and eax, 0xffff
add edi, eax
call dword [edx + 0x20]
cmp eax, edi
jne 0x5f2396
inc dword [ebp - 0xc]
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x64]
mov edi, dword [ebx + 0x60]
sub eax, edi
inc esi
sar eax, 3
cmp esi, eax
mov dword [ebp - 0x14], esi
jb 0x5f2309
mov eax, dword [ebp - 0xc]
xor esi, esi
test eax, eax
jle 0x5f23c1
mov dword [ebp - 0xc], eax
mov esi, eax
mov ecx, dword [ebx + 0x10]
push 1
push ecx
mov ecx, ebx
call fcn.005f2e50
mov edx, dword [ebx + 0x10]
push 3
push edx
mov ecx, ebx
mov byte [ebp - 1], al
call fcn.005f2e50
test al, al
jne 0x5f23f7
mov eax, dword [ebx + 0x10]
push 7
push eax
mov ecx, ebx
call fcn.005f2e50
test al, al
je 0x5f25d9
mov ecx, dword [ebx + 0x10]
push 2
mov dword [ebp - 0xc], 0xffffffff
mov edx, dword [ecx]
call dword [edx + 0x14]
mov ecx, dword [ebx + 0x78]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov eax, dword [ecx]
call dword [eax + 0x120]
mov edi, eax
test edi, edi
mov dword [ebp - 0x18], edi
je 0x5f25d6
mov edx, dword [edi + 8]
lea ecx, [edi + 8]
push esi
call dword [edx + 0x2c8]
mov ecx, eax
call fcn.005ea640
test eax, eax
je 0x5f25d6
xor eax, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], eax
mov esi, dword [edi + 0x2b8]
test esi, esi
jne 0x5f2474
push 0x752
push 0x79bd40
push str.m_pEudemonPackage
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
mov al, byte [esi + 0x10]
test al, al
je 0x5f2512
mov byte [esi + 0x10], 0
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
mov eax, 0x2aaaaaab
sub ecx, edx
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
lea eax, [edx + eax - 1]
test eax, eax
jl 0x5f2512
lea edi, [eax + eax*2]
lea ebx, [eax + 1]
shl edi, 2
mov ecx, dword [esi + 4]
cmp dword [ecx + edi], 0
jne 0x5f2509
mov edx, str.CAutoLinkSet::Size___AutoDelObj
test edx, edx
je 0x5f24da
push 0x54
push str.....commonAutoLinkSet.h
push str.__CAutoLinkSet::Size___AutoDelObj_
push str.ASSERT
push 0x793720
call fcn.00401080
add esp, 0x14
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
add eax, edi
lea edx, [eax + 0xc]
cmp edx, ecx
je 0x5f24f9
push 0
push dword [ebp + 8]
push eax
push ecx
push edx
call fcn.00481310
add esp, 0x14
mov eax, dword [esi + 8]
add eax, 0xfffffff4
mov ecx, eax
mov dword [esi + 8], eax
call fcn.00447370
sub edi, 0xc
dec ebx
jne 0x5f24aa
mov ebx, dword [ebp - 0x10]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
mov esi, dword [ebp - 0x14]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp esi, edx
jge 0x5f25d6
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 0x2b8]
test ecx, ecx
jne 0x5f2565
push 0x752
push 0x79bd40
push str.m_pEudemonPackage
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
xor ecx, ecx
push esi
call fcn.005bdef0
test eax, eax
je 0x5f25c7
mov cl, byte [eax + 0x194]
test cl, cl
je 0x5f25c7
mov edx, dword [eax + 8]
lea esi, [eax + 8]
mov ecx, esi
call dword [edx + 0xd4]
test al, al
je 0x5f25c7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2c8]
mov edi, eax
test edi, edi
je 0x5f25c7
mov al, byte [ebp - 1]
test al, al
je 0x5f25b5
mov edx, dword [esi]
push 0x96
mov ecx, esi
call dword [edx + 0x14c]
test eax, eax
je 0x5f25c7
mov eax, dword [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.005ea640
test eax, eax
je 0x5f25c7
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x5f2449
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebx + 0x10]
push 3
mov edx, dword [ecx]
call dword [edx + 0x14]
cmp esi, eax
jle 0x5f26ba
xor eax, eax
mov ecx, dword [ebx + 0x78]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x2c], eax
push 2
mov eax, dword [ecx]
call dword [eax + 0x14]
mov word [ebp - 0x28], ax
mov word [ebp - 0x26], si
mov dword [ebp - 0x30], 1
xor edi, edi
call fcn.005ea540
mov esi, eax
lea eax, [ebp - 0x30]
push eax
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 8]
test al, al
je 0x5f26a8
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
test al, al
jne 0x5f266e
mov eax, dword [ebp - 0x26]
mov ecx, dword [ebp - 0x28]
and eax, 0xffff
and ecx, 0xffff
push eax
push ecx
push str.magictype:Type__u__Level__u__not_found_when_getpower.
call fcn.00401560
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ebp + 8]
test edi, edi
jl 0x5f269d
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x38]
cmp edi, eax
jge 0x5f269d
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x3c]
mov edi, dword [eax + 8]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [esi]
push 0x6f
mov ecx, esi
call dword [edx + 0x14]
mov edi, eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov esi, dword [ebp + 8]
test esi, esi
jl 0x5f26e2
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
call dword [edx + 0x38]
cmp esi, eax
jge 0x5f26e2
mov ecx, dword [ebx + 0x10]
push esi
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov eax, dword [eax + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebx + 0x10]
push 0x6f
mov edx, dword [ecx]
call dword [edx + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4