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

Disassembly:
push 0xffffffffffffffff
push 0x5a8b1b
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push ebp
push esi
push edi
mov eax, dword [0x691844]
xor eax, esp
push eax
lea eax, [esp + 0x44]
mov dword fs:[0], eax
mov edi, ecx
movzx eax, byte [esp + 0x54]
cmp eax, 0x12
ja case.0x57b37e.51
movzx eax, byte [eax + 0x57bc60]
jmp dword [eax*4 + 0x57bc34]
mov esi, dword [esp + 0x58]
lea ecx, [esi + 8]
push ecx
mov ecx, edi
call fcn.0057b080
cmp dword [esi + 0x24], 0
je 0x57b3ea
mov edx, dword [esi + 0x10]
mov dword [0x6e4d64], edx
mov eax, dword [esi + 0x10]
push eax
call fcn.00415dd0
mov ecx, eax
call fcn.004c6f50
mov ecx, dword [esi + 0x10]
push ecx
mov ecx, 0x69fe70
call fcn.004ae4d0
test eax, eax
jne 0x57b3d0
push eax
push 0x3d0
jmp 0x57bc10
mov ecx, dword [eax + 0x322]
test ecx, 0x1000
jne 0x57b3ea
or ecx, 0x1000
mov dword [eax + 0x322], ecx
mov edx, dword [esi + 0x10]
push edx
mov ecx, 0x69fe70
call fcn.004bb140
jmp case.0x57b37e.48
mov esi, dword [esp + 0x58]
lea eax, [esi + 8]
push eax
call fcn.0057b160
mov ecx, dword [esi + 0xc]
push ecx
mov ecx, 0x69fe70
call fcn.004bb140
jmp case.0x57b37e.48
mov edi, dword [esp + 0x58]
mov edx, dword [edi + 4]
push edx
mov ecx, 0x69e250
call fcn.0049ff30
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je case.0x57b37e.48
push ebx
push 0x1f
push esi
mov ecx, 0x685b58
call fcn.004d2300
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push esi
push 0xe28
mov ecx, 0x6e4b00
call fcn.005626d0
lea eax, [edi + 0x3a]
push eax
mov ecx, esi
mov dword [esi + 0x404], 1
call fcn.004a7eb0
push esi
mov ecx, 0x69e120
call fcn.0048ff80
cmp dword [0x69e254], esi
jne 0x57b5e0
push 0x384
call fcn.00599902
add esp, 4
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], ebx
cmp eax, ebx
je 0x57b4af
mov ecx, eax
call fcn.005760c0
mov ebp, eax
jmp 0x57b4b1
xor ebp, ebp
lea ecx, [edi + 0x10]
push ecx
mov ecx, ebp
mov dword [esp + 0x50], 0xffffffff
call fcn.00576020
push ebp
mov ecx, esi
call fcn.004a7040
mov edx, dword [edi + 0x20]
mov ecx, dword [0x69389c]
push edx
call fcn.00577160
mov eax, dword [edi + 0x24]
mov ecx, dword [0x69389c]
push eax
call fcn.00577210
mov ecx, dword [0x69389c]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
push 0x60a
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 0x1a
push 0x6a0f60
call fcn.004d8020
add esp, 0xc
push ebx
push 0x400
mov ecx, 0x6ccf58
call fcn.00554960
test eax, eax
jne 0x57b53f
mov ecx, dword [edi + 0xc]
mov edx, dword [0x69e254]
push ecx
push ebx
push 0xa5
push edx
jmp 0x57b54c
mov eax, dword [0x69e254]
push ebx
push ebx
push 0xa6
push eax
mov ecx, 0x695080
call fcn.0041f2b0
mov ecx, 0x69e1e8
call fcn.00494be0
mov ecx, 0x69fe70
call fcn.004babe0
mov ecx, dword [0x693900]
call fcn.004694a0
fld dword [0x5c41c8]
mov eax, dword [0x6e4a10]
mov ecx, dword [0x69e254]
imul eax, eax, 0xb0
push 1
push ecx
sub esp, 0xc
mov ecx, 0x6e4470
fstp dword [esp + 8]
fld dword [eax + 0x6e44a0]
fstp dword [esp + 4]
fld dword [eax + 0x6e4490]
fstp dword [esp]
push ebx
call fcn.0055e600
push 1
mov ecx, 0x6ccf58
call fcn.005554c0
mov ecx, dword [0x693888]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push ebx
call eax
cmp dword [0x69e254], esi
jne 0x57b5e0
mov ecx, 0x685878
call fcn.004ccdd0
mov eax, dword [esi + 0x142]
push eax
call fcn.00415c80
mov ecx, eax
call fcn.0056e620
cmp byte [eax + 8], 2
jne 0x57b66c
push 0xfffffffffffffffe
mov ecx, esi
call fcn.0049e550
mov al, byte [esi + 0x146]
test al, al
jne 0x57b62e
push str.t_eff_bmu_A_s.beff
call fcn.00528bc0
mov ecx, dword [0x69e254]
add esp, 4
push ecx
push 1
lea edx, [esp + 0x24]
mov word [esp + 0x24], ax
push edx
jmp 0x57b651
cmp al, 1
jne 0x57b66c
push str.t_eff_bmu_B_s.beff
call fcn.00528bc0
add esp, 4
mov word [esp + 0x1c], ax
mov eax, dword [0x69e254]
push eax
push 1
lea ecx, [esp + 0x24]
push ecx
fldz
push 0xfffffffffffffffe
fst dword [esp + 0x3c]
mov ecx, esi
fst dword [esp + 0x38]
mov dword [esp + 0x30], ebx
fstp dword [esp + 0x34]
call fcn.0049e480
cmp byte [esi + 0x461], 1
jne 0x57b6b9
push 0xfffffffffffffffb
mov ecx, esi
call fcn.0049e550
push str.t_maintain_PK_S.beff
call fcn.00528bc0
fldz
mov edx, dword [0x69e254]
fst dword [esp + 0x30]
add esp, 4
fst dword [esp + 0x28]
push edx
fstp dword [esp + 0x28]
mov word [esp + 0x20], ax
push 1
lea eax, [esp + 0x24]
push eax
push 0xfffffffffffffffb
mov ecx, esi
mov dword [esp + 0x30], ebx
call fcn.0049e480
mov ecx, esi
call fcn.004a5c90
mov ecx, esi
call fcn.0049cb40
test al, al
jne case.0x57b37e.48
push ebx
push ebx
push esi
mov ecx, 0x685b58
call fcn.004d2300
jmp case.0x57b37e.48
mov ebx, dword [esp + 0x58]
mov ecx, dword [ebx + 8]
push ecx
mov ecx, 0x69e250
call fcn.0049ff30
mov esi, eax
xor ebp, ebp
cmp esi, ebp
jne 0x57b706
push ebp
push 0x448
jmp 0x57bc10
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
cmp eax, ebp
ja 0x57b74e
jb 0x57b717
cmp ecx, 4
ja 0x57b74e
jmp dword [ecx*4 + 0x57bc74]
push ebp
push 0x45c
push str..TitanManager.cpp
call fcn.00527110
add esp, 0xc
push esi
mov ecx, 0x69e120
mov dword [esi + 0x404], ebp
call fcn.0048ff80
cmp dword [0x69e254], esi
jne 0x57b96a
mov edx, dword [ebx + 0xc]
mov ebp, dword [esi + 0x62c]
push 0
push edx
mov ecx, edi
call fcn.005797d0
test ebp, ebp
je 0x57b7a3
mov eax, dword [ebp]
mov edx, dword [eax + 4]
push 1
mov ecx, ebp
call edx
xor ebp, ebp
push ebp
mov ecx, esi
call fcn.004a7040
push 0
push 0x400
mov ecx, 0x6ccf58
call fcn.00554960
push 0
test eax, eax
jne 0x57b7cf
mov eax, dword [0x69e254]
push 0xa5
push eax
jmp 0x57b7db
mov ecx, dword [0x69e254]
push 0xa6
push ecx
mov ecx, 0x695080
call fcn.0041f3b0
lea edx, [esp + 0x58]
push edx
mov ecx, edi
call fcn.00579970
mov ecx, dword [eax]
mov eax, ecx
mov edx, ecx
and edx, 0xf000000
and eax, 0xf0000000
or eax, edx
mov edx, ecx
and edx, 0xfc0000
or eax, edx
mov edx, ecx
and edx, 0x3f000
or eax, edx
mov edx, ecx
and edx, 0xfc0
or eax, edx
and ecx, 0x3f
or eax, ecx
mov ecx, eax
and ecx, 0x3f
push ecx
mov edx, eax
mov ecx, eax
shr edx, 6
and edx, 0x3f
shr ecx, 0xc
push edx
and ecx, 0x3f
shr eax, 0x12
push ecx
and eax, 0x3f
push eax
call fcn.00526900
mov edx, dword [edi + 0x14]
add esp, 0x10
push edx
mov ecx, 0x69fe70
mov ebp, eax
call fcn.004ae4d0
test eax, eax
je 0x57b885
mov edx, dword [eax]
mov edi, dword [0x69e254]
push 0
mov ecx, eax
mov eax, dword [edx + 0x78]
push ebp
call eax
movzx ecx, ax
push ecx
push 2
lea ecx, [edi + 0x680]
call fcn.0053a870
mov ecx, dword [0x69389c]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0
call eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x18], eax
test eax, eax
jl 0x57b8ed
jg 0x57b8a8
test ecx, ecx
jb 0x57b8ed
test eax, eax
jg 0x57b8ed
jl 0x57b8b3
cmp ecx, 4
ja 0x57b8ed
jmp dword [ecx*4 + 0x57bc88]
push 0
push 0x4a3
push str..TitanManager.cpp
call fcn.00527110
add esp, 0xc
mov ecx, 0x69e1e8
call fcn.00494be0
mov ecx, 0x69fe70
call fcn.004babe0
mov ecx, dword [0x693900]
call fcn.004694a0
fld dword [0x5b0bdc]
mov eax, dword [0x6e4a10]
mov ecx, dword [0x69e254]
imul eax, eax, 0xb0
sub esp, 0xc
fstp dword [esp + 8]
fld dword [eax + 0x6e44a0]
fstp dword [esp + 4]
fld dword [eax + 0x6e4490]
fstp dword [esp]
push ecx
mov ecx, 0x6e4470
call fcn.0055e8e0
push 0
mov ecx, 0x6ccf58
call fcn.005554c0
xor ebp, ebp
mov ecx, esi
call fcn.004a5c90
mov ecx, esi
call fcn.0049cb40
test al, al
jne 0x57b989
push ebp
push ebp
push esi
mov ecx, 0x685b58
call fcn.004d2300
mov eax, dword [esi + 0x142]
push eax
call fcn.00415c80
mov ecx, eax
call fcn.0056e620
cmp byte [eax + 8], 2
jne 0x57ba16
push 0xfffffffffffffffe
mov ecx, esi
call fcn.0049e550
mov al, byte [esi + 0x146]
test al, al
jne 0x57b9d7
push str.eff_bmu_A_s.beff
call fcn.00528bc0
mov edx, dword [0x69e254]
add esp, 4
push edx
mov word [esp + 0x20], ax
push 1
lea eax, [esp + 0x24]
push eax
jmp 0x57b9fb
cmp al, 1
jne 0x57ba16
push 0x5b8f6c
call fcn.00528bc0
mov ecx, dword [0x69e254]
add esp, 4
push ecx
push 1
lea edx, [esp + 0x24]
mov word [esp + 0x24], ax
push edx
fldz
push 0xfffffffffffffffe
fst dword [esp + 0x3c]
mov ecx, esi
fst dword [esp + 0x38]
mov dword [esp + 0x30], ebp
fstp dword [esp + 0x34]
call fcn.0049e480
cmp byte [esi + 0x461], 1
jne case.0x57b37e.48
push 0xfffffffffffffffb
mov ecx, esi
call fcn.0049e550
push str.maintain_PK_S.beff
call fcn.00528bc0
fldz
add esp, 4
fst dword [esp + 0x40]
mov word [esp + 0x30], ax
fst dword [esp + 0x3c]
mov eax, dword [0x69e254]
fstp dword [esp + 0x38]
push eax
push 1
lea ecx, [esp + 0x38]
push ecx
push 0xfffffffffffffffb
mov ecx, esi
mov dword [esp + 0x44], ebp
call fcn.0049e480
jmp case.0x57b37e.48
mov edx, dword [edi + 0x14]
push edx
call fcn.005799e0
test eax, eax
jne 0x57ba83
push eax
push 0x4da
jmp 0x57bc10
mov edx, dword [esp + 0x58]
mov ecx, dword [edx + 8]
mov dword [eax + 0x10], ecx
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
mov edx, dword [edx + 8]
mov eax, dword [eax + 0xac]
push edx
call eax
jmp case.0x57b37e.48
mov ecx, dword [edi + 0x14]
push ecx
mov ecx, edi
call fcn.005799e0
test eax, eax
jne 0x57babd
push eax
push 0x4ea
jmp 0x57bc10
mov edx, dword [esp + 0x58]
mov ecx, dword [edx + 8]
mov dword [eax + 0x14], ecx
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
mov edx, dword [edx + 8]
mov eax, dword [eax + 0xb0]
push edx
call eax
jmp case.0x57b37e.48
mov esi, dword [esp + 0x58]
mov ecx, dword [esi + 8]
push ecx
mov ecx, edi
call fcn.00579a60
test eax, eax
je case.0x57b37e.48
mov edx, dword [esi + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [esi + 8]
push eax
mov ecx, 0x69fe70
call fcn.004bb140
jmp case.0x57b37e.48
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + 4]
push edx
mov ecx, 0x69e250
call fcn.0049ff30
mov ebx, eax
test ebx, ebx
je case.0x57b37e.48
mov ecx, ebx
call fcn.0049cb40
mov byte [esp + 0x54], al
mov ecx, dword [esp + 0x54]
mov eax, dword [ebx]
mov edx, dword [eax + 0x34]
push ecx
mov ecx, ebx
call edx
cmp ebx, dword [0x69e254]
jne 0x57bba7
mov esi, dword [0x693888]
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 1
mov ecx, esi
call edx
mov eax, dword [0x6e4d64]
push eax
mov ecx, 0x6e4d50
call fcn.005799e0
test eax, eax
je case.0x57b37e.48
movzx ecx, word [eax + 0xe]
movzx edx, word [eax + 0xc]
push ecx
push edx
mov ecx, 0x6a5408
call fcn.0052f190
test eax, eax
je case.0x57b37e.48
mov eax, dword [eax + 0x64]
sub eax, dword [edi + 0x170]
mov ecx, esi
push eax
call fcn.004436d0
mov ecx, esi
call fcn.00443730
push 0x1f
push ebx
mov ecx, 0x685b58
call fcn.004d2520
jmp case.0x57b37e.48
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + 4]
push edx
mov ecx, 0x69e250
call fcn.0049ff30
mov esi, eax
test esi, esi
je case.0x57b37e.48
push 0
push 0x1f
push esi
mov ecx, 0x685b58
call fcn.004d2300
cmp esi, dword [0x69e254]
jne 0x57bbf4
mov ecx, dword [0x693888]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x98]
push 0
push 0x147
mov ecx, esi
call edx
jmp case.0x57b37e.48
push 0
push 0x54c
push str..TitanManager.cpp
call fcn.00527110
add esp, 0xc
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 8