Function at 0x5faac0
Capabilities:
Capture screenshot
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x65b918
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebx
mov ebx, ecx
push edi
fld qword [ebx + 0x106]
fcomp qword [0x662cb0]
fnstsw ax
test ah, 1
jne 0x5fb1a7
mov eax, dword [ebx + 0x29c]
xor edi, edi
cmp eax, edi
jne 0x5fab0b
cmp dword [0x8267b0], edi
jne 0x5fb1a7
mov eax, dword [ebx + 0x14]
push esi
mov eax, dword [eax + 0x20]
push eax
call dword [fcn.0065f510]
push eax
call fcn.00644092
mov esi, eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1c], esi
call fcn.0064414c
mov dword [esp + 0x78], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], 0x661a18
cmp esi, edi
mov byte [esp + 0x78], 1
jne 0x5fab4b
xor eax, eax
jmp 0x5fab4e
mov eax, dword [esi + 4]
push ebp
push eax
call dword [fcn.0065e0d0]
push eax
lea ecx, [esp + 0x44]
call fcn.00644146
mov eax, dword [ebx + 0x10]
mov ebp, dword [ebx + 8]
mov ecx, dword [esi + 4]
sub eax, ebp
sub eax, 0x12
push eax
push 0x34
push ecx
call dword [fcn.0065e0c8]
push eax
lea ecx, [esp + 0x34]
call fcn.006440f8
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x30]
neg eax
sbb eax, eax
and eax, ecx
push eax
push edx
call fcn.00644140
mov ecx, dword [ebx + 8]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x10]
push 6
sub eax, ecx
lea ecx, [esp + 0x44]
sub eax, 0x12
push eax
push 0x34
push edi
push edi
push ecx
mov ecx, 0x732bc0
call fcn.004961f0
push 1
lea ecx, [esp + 0x44]
call fcn.0064412e
lea edx, [esp + 0x40]
push edi
push edx
mov ecx, 0x732bc0
call fcn.00495d00
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x40]
push edi
push eax
mov ecx, 0x732bc0
call fcn.00495c80
fild dword [esp + 0x84]
sub esp, 8
mov ecx, ebx
mov dword [esp + 0x20], eax
mov ebp, 2
fstp qword [esp]
call fcn.005f94a0
mov edx, dword [ebx + 0x264]
mov esi, eax
mov ecx, dword [ebx + 0x4e]
shl esi, 4
add esi, eax
mov dword [esp + 0x84], ecx
shl esi, 1
fld dword [0x663774]
mov ecx, dword [esi + edx + 0xc]
lea eax, [esi + edx]
cmp ecx, edi
jl 0x5faca7
mov cx, word [ebx + 0x4e]
mov edx, dword [eax + 0x10]
mov eax, dword [ebx + 0x48]
push ecx
push edx
push eax
fstp st(0)
call fcn.0047d600
mov edx, dword [ebx + 0x264]
mov cx, word [ebx + 0x4e]
push ecx
mov ecx, dword [ebx + 0x48]
mov eax, dword [esi + edx + 0x1a]
fstp dword [esp + 0x24]
push eax
push ecx
call fcn.0047d600
fcomp dword [esp + 0x2c]
add esp, 0x18
fnstsw ax
test ah, 1
je 0x5fac8b
mov eax, dword [ebx + 0x264]
mov dx, word [ebx + 0x4e]
push edx
mov edx, dword [ebx + 0x48]
mov ecx, dword [esi + eax + 0x10]
push ecx
push edx
jmp 0x5fac9f
mov ecx, dword [ebx + 0x264]
mov ax, word [ebx + 0x4e]
push eax
mov eax, dword [ebx + 0x48]
mov edx, dword [esi + ecx + 0x1a]
push edx
push eax
call fcn.0047d600
add esp, 0xc
fcom qword [0x672488]
fnstsw ax
test ah, 1
jne 0x5facbf
fstp st(0)
mov dword [esp + 0x84], edi
jmp 0x5facd7
fcomp qword [0x665ee8]
fnstsw ax
test ah, 1
jne 0x5facd7
mov dword [esp + 0x84], 1
mov ecx, dword [ebx + 0x264]
lea edi, [esp + 0x50]
add esi, ecx
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x2a6]
mov ecx, dword [ebx + 0x13e]
movsw word es:[edi], word [esi]
mov esi, dword [0x6a2d04]
mov dword [esp + 0x14], ecx
test eax, eax
je 0x5fad42
mov edx, dword [esp + 0x54]
cmp edx, esi
je 0x5fad42
mov eax, 1
lea ecx, [ebx + 0x34e]
cmp dword [ecx], edx
je 0x5fad26
inc eax
add ecx, 4
cmp eax, 0xa
jl 0x5fad19
cmp eax, 9
jl 0x5fad30
mov eax, 9
fld dword [ebx + eax*4 + 0x2fa]
mov esi, dword [ebx + eax*4 + 0x34a]
fstp dword [esp + 0x14]
mov dx, word [ebx + 0x4e]
mov eax, dword [esp + 0x60]
mov ecx, dword [ebx + 0x48]
push edx
push eax
push ecx
call fcn.0047d600
mov eax, dword [ebx + 0x2a6]
add esp, 0xc
fstp dword [esp + 0x10]
test eax, eax
je 0x5fadd1
mov edx, dword [0x73a974]
push 0x6a0bcc
push 0
push edx
push 2
lea eax, [esp + 0x50]
push 1
lea ecx, [esp + 0x4c]
push eax
push ecx
push 0x732bc0
call fcn.00496440
mov edx, dword [eax]
push esi
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 4]
lea ebp, [eax + 4]
call fcn.00473400
add esp, 0x24
lea ecx, [esp + 0x40]
lea edx, [esp + 0x38]
push eax
mov eax, dword [0x73a964]
push 0x34
push eax
push ebp
push 0
push ecx
push edx
push 0x732bc0
call fcn.00496440
mov ecx, dword [eax]
add esp, 0x20
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 4]
lea ebp, [eax + ebp + 2]
mov edx, dword [0x73a974]
push 0x6a0b94
push 0
push edx
push ebp
lea eax, [esp + 0x50]
push 1
lea ecx, [esp + 0x4c]
push eax
push ecx
push 0x732bc0
call fcn.00496440
mov edx, dword [eax]
mov dword [esp + 0x48], edx
mov eax, dword [eax + 4]
lea esi, [eax + ebp + 2]
mov eax, dword [esp + 0x78]
push eax
call fcn.004732f0
mov ecx, dword [0x73a964]
add esp, 0x24
lea edx, [esp + 0x40]
push eax
push 0x34
push ecx
push esi
push 0
lea eax, [esp + 0x4c]
push edx
push eax
push 0x732bc0
call fcn.00496440
mov ecx, dword [eax]
mov edx, dword [0x73a974]
add esp, 0x20
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 4]
lea ecx, [esp + 0x38]
push 0x6c1258
push 0
lea esi, [esi + eax + 2]
push edx
push esi
lea eax, [esp + 0x50]
push 1
push eax
push ecx
push 0x732bc0
call fcn.00496440
mov edx, dword [eax]
mov ebp, dword [esp + 0xa4]
mov edi, dword [esp + 0x34]
add esp, 0x20
mov eax, dword [eax + 4]
mov dword [esp + 0x28], edx
push 0
push 0x34
lea esi, [esi + eax + 2]
mov eax, dword [esp + 0x18]
push ebp
push edi
push eax
push esi
lea ecx, [esp + 0x58]
push 0
lea edx, [esp + 0x54]
push ecx
push edx
mov ecx, 0x732bc0
call fcn.00496a70
mov ecx, dword [eax]
mov edx, dword [0x73a974]
push 0x6b6170
push 0
mov eax, dword [eax + 4]
push edx
mov dword [esp + 0x34], ecx
lea esi, [esi + eax + 2]
lea eax, [esp + 0x4c]
push esi
push 1
lea ecx, [esp + 0x4c]
push eax
push ecx
push 0x732bc0
call fcn.00496440
mov edx, dword [eax]
mov ecx, dword [esp + 0x8a]
add esp, 0x20
mov dword [esp + 0x28], edx
mov eax, dword [eax + 4]
mov edx, dword [ebx + 0x48]
push 0
push 0x34
lea esi, [esi + eax + 2]
mov ax, word [ebx + 0x4e]
push ebp
push edi
push eax
push ecx
push edx
call fcn.0047d600
fstp dword [esp + 8]
add esp, 8
lea eax, [esp + 0x54]
lea ecx, [esp + 0x4c]
push esi
push 0
push eax
push ecx
mov ecx, 0x732bc0
call fcn.00496a70
mov edx, dword [eax]
push 0x6c02f4
push 0
mov dword [esp + 0x30], edx
mov eax, dword [eax + 4]
lea ecx, [esp + 0x48]
lea edx, [esp + 0x40]
lea esi, [esi + eax + 2]
mov eax, dword [0x73a974]
push eax
push esi
push 1
push ecx
push edx
push 0x732bc0
call fcn.00496440
mov ecx, dword [eax]
add esp, 0x20
fld dword [esp + 0x10]
fcomp qword [0x662cc0]
mov eax, dword [eax + 4]
push 0
mov dword [esp + 0x2c], ecx
push 0x34
lea esi, [esi + eax + 2]
fnstsw ax
test ah, 0x40
jne 0x5fafa6
mov edx, dword [ebx + 0x4e]
lea eax, [esp + 0x48]
fld dword [esp + 0x18]
fsub dword [esp + 0x1c]
push edx
push 0
push ecx
lea ecx, [esp + 0x4c]
fstp dword [esp]
push esi
push 0
push eax
push ecx
mov ecx, 0x732bc0
call fcn.00496a70
mov edx, dword [eax]
mov dword [esp + 0x28], edx
jmp 0x5fafcb
mov eax, dword [ebx + 0x4e]
lea ecx, [esp + 0x48]
push eax
push 0
push 0
push esi
push 0
lea edx, [esp + 0x54]
push ecx
push edx
mov ecx, 0x732bc0
call fcn.00496a70
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 4]
lea esi, [esi + eax + 2]
mov eax, dword [ebx + 0x5e]
test eax, eax
mov eax, 0x6a0bfc
jne 0x5fafe3
mov eax, 0x6a0bf4
mov edx, dword [0x73a974]
push eax
push 0
push edx
push esi
lea eax, [esp + 0x50]
push 1
lea ecx, [esp + 0x4c]
push eax
push ecx
push 0x732bc0
call fcn.00496440
mov edx, dword [eax]
mov ecx, dword [0x73a998]
add esp, 0x20
mov dword [esp + 0x28], edx
mov eax, dword [eax + 4]
lea edx, [esp + 0x40]
lea esi, [esi + eax + 2]
mov eax, dword [esp + 0x64]
push eax
push 0x6a2b24
push 0x34
push ecx
push esi
push 0
lea eax, [esp + 0x50]
push edx
push eax
push 0x732bc0
call fcn.00496440
mov ecx, dword [eax]
mov edx, dword [ebx + 0x48]
add esp, 0x24
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 4]
lea esi, [esi + eax + 2]
mov al, byte [edx + 0xed]
cmp al, 3
jne 0x5fb0cb
mov eax, dword [0x73a974]
push 0x6b5cd4
push 0
push eax
push esi
lea ecx, [esp + 0x50]
push 1
lea edx, [esp + 0x4c]
push ecx
push edx
push 0x732bc0
call fcn.00496440
mov ecx, dword [eax]
mov edx, dword [esp + 0x8e]
add esp, 0x20
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 4]
lea ecx, [esp + 0x40]
push edx
push 0x6a2b24
lea esi, [esi + eax + 2]
mov eax, dword [0x73a998]
push 0x34
push eax
push esi
push 0
lea edx, [esp + 0x50]
push ecx
push edx
push 0x732bc0
call fcn.00496440
mov ecx, dword [eax]
add esp, 0x24
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 4]
lea esi, [esi + eax + 2]
lea edx, [esi - 1]
lea eax, [esp + 0x40]
push edx
push 0x33
push 0
push 0
push eax
mov ecx, 0x732bc0
call fcn.00495f40
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x40]
push ecx
push edx
mov ecx, 0x732bc0
call fcn.00495ca0
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x40]
push eax
push ecx
mov ecx, 0x732bc0
call fcn.00495d20
mov ebp, dword [esp + 0x44]
lea eax, [esp + 0x40]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ebp
push 0
push 0
push eax
push esi
mov esi, dword [esp + 0x34]
push 0x34
push ecx
push edx
mov edx, dword [esi + 4]
push edx
call dword [fcn.0065e0cc]
mov eax, dword [esp + 0x24]
pop ebp
test eax, eax
je 0x5fb149
mov eax, dword [eax + 4]
push eax
mov eax, dword [esp + 0x44]
push eax
call fcn.00644140
lea ecx, [esp + 0x2c]
call fcn.0064406e
lea ecx, [esp + 0x3c]
call fcn.00644134
mov ebx, dword [ebx + 0x14]
mov ecx, dword [esi + 4]
push ecx
mov edx, dword [ebx + 0x20]
push edx
call dword [fcn.0065f4e8]
mov dword [esp + 0x2c], 0x661578
lea ecx, [esp + 0x2c]
mov byte [esp + 0x78], 2
call fcn.0064406e
lea ecx, [esp + 0x3c]
mov dword [esp + 0x2c], 0x6602dc
mov dword [esp + 0x78], 0xffffffff
call fcn.0064411c
pop esi
mov ecx, dword [esp + 0x6c]
pop edi
pop ebx
mov dword fs:[0], ecx
add esp, 0x70
ret 4