Function at 0x646581c0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push edi
push esi
push ebx
sub esp, 0x250
mov ebx, dword [esp + 0x264]
mov esi, dword [esp + 0x268]
mov edi, dword [esp + 0x26c]
fld dword [ebx + 0x14]
fld dword [ebx + 0x18]
fstp dword [esp + 0x4c]
fld dword [ebx + 0x1c]
fstp dword [esp + 0x54]
fld dword [ebx + 0x20]
fstp dword [esp + 0x60]
fld dword [esi + 0x14]
fld dword [esi + 0x18]
fstp dword [esp + 0x50]
fld dword [esi + 0x1c]
fstp dword [esp + 0x5c]
fld dword [esi + 0x20]
fstp dword [esp + 0x68]
fld dword [edi + 0x14]
fstp dword [esp + 0x48]
fld dword [edi + 0x18]
fstp dword [esp + 0x58]
fld dword [edi + 0x1c]
fstp dword [esp + 0x64]
fld dword [edi + 0x20]
fstp dword [esp + 0x6c]
lea eax, [esp + 0x8c]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x84]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
lea eax, [esp + 0x7c]
mov dword [esp + 4], eax
lea eax, [esp + 0x78]
mov dword [esp], eax
fstp dword [esp + 0x20]
fstp dword [esp + 0x30]
call sym.allegro_5.0.10_monolith_mt.dll_al_get_separate_blender
mov edx, dword [esp + 0x80]
test edx, edx
fld dword [esp + 0x20]
fld dword [esp + 0x30]
jne 0x64658294
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x64658434
mov edx, 1
fucom st(1)
fnstsw ax
and ah, 0x45
xor ah, 0x40
je 0x64658320
fstp st(0)
fstp st(0)
jmp 0x646582d0
fstp st(0)
jmp 0x646582d0
fstp st(0)
fstp st(0)
jmp 0x646582d0
fstp st(0)
jmp 0x646582d0
fstp st(0)
fstp st(0)
jmp 0x646582d0
fstp st(0)
jmp 0x646582d0
fstp st(0)
fstp st(0)
jmp 0x646582d0
fstp st(0)
cmp dword [esp + 0x260], 0
je 0x6465846a
mov eax, dword [esp + 0x260]
mov dword [esp + 0x1f0], eax
test edx, edx
je 0x646585b8
mov dword [esp + 0x1c], 0x64649570
mov dword [esp + 0x18], 0x64656fac
mov dword [esp + 0x14], 0x6465703c
mov dword [esp + 0x10], 0x646569e8
lea eax, [esp + 0x188]
jmp 0x64658498
fld dword [esp + 0x48]
fxch st(2)
fucomp st(2)
fnstsw ax
fstp st(1)
and ah, 0x45
xor ah, 0x40
jne 0x646582ac
fld dword [esp + 0x4c]
fld dword [esp + 0x50]
fxch st(1)
fucomp st(1)
fnstsw ax
and ah, 0x45
xor ah, 0x40
jne 0x646582b0
fld dword [esp + 0x58]
fxch st(1)
fucompp
fnstsw ax
and ah, 0x45
xor ah, 0x40
jne 0x646582b8
fld dword [esp + 0x54]
fld dword [esp + 0x5c]
fxch st(1)
fucomp st(1)
fnstsw ax
and ah, 0x45
xor ah, 0x40
jne 0x646582bc
fld dword [esp + 0x64]
fxch st(1)
fucompp
fnstsw ax
and ah, 0x45
xor ah, 0x40
jne 0x646582c4
fld dword [esp + 0x60]
fld dword [esp + 0x68]
fxch st(1)
fucomp st(1)
fnstsw ax
and ah, 0x45
xor ah, 0x40
jne 0x646582c8
fld dword [esp + 0x6c]
fxch st(1)
fucompp
fnstsw ax
and ah, 0x45
cmp ah, 0x40
jne 0x646582ce
cmp dword [esp + 0x260], 0
je 0x6465855a
fld1
fxch st(1)
fucompp
fnstsw ax
and ah, 0x45
cmp ah, 0x40
je 0x646584e1
jmp 0x646583f2
fstp st(0)
jmp 0x646583f2
fstp st(0)
mov eax, dword [esp + 0x260]
mov dword [esp + 0x178], eax
test edx, edx
je 0x64658540
mov dword [esp + 0x1c], 0x64633420
mov dword [esp + 0x18], 0x64626fbc
mov dword [esp + 0x14], 0x64626f50
mov dword [esp + 0x10], 0x64656788
lea eax, [esp + 0x110]
jmp 0x64658498
cmp dword [esp + 0x78], 2
je 0x64658294
cmp dword [esp + 0x84], 2
je 0x64658294
cmp dword [esp + 0x7c], 1
jne 0x64658294
xor edx, edx
cmp dword [esp + 0x88], 1
setne dl
jmp 0x64658299
test edx, edx
jne 0x646584b8
mov dword [esp + 0x1c], 0x6462b8a0
mov dword [esp + 0x18], 0x64626ef8
mov dword [esp + 0x14], 0x64626e40
mov dword [esp + 0x10], 0x64630454
lea eax, [esp + 0xa4]
lea esi, [esi]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym.allegro_5.0.10_monolith_mt.dll__al_draw_soft_triangle
add esp, 0x250
pop ebx
pop esi
pop edi
ret
mov dword [esp + 0x1c], 0x6462c144
mov dword [esp + 0x18], 0x64626ef8
mov dword [esp + 0x14], 0x64626e40
mov dword [esp + 0x10], 0x64630454
lea eax, [esp + 0xa4]
jmp 0x64658498
fld1
fld dword [esp + 0x4c]
fucomp st(1)
fnstsw ax
and ah, 0x45
xor ah, 0x40
jne 0x646583ec
fld dword [esp + 0x54]
fucomp st(1)
fnstsw ax
and ah, 0x45
xor ah, 0x40
jne 0x646583f0
fld dword [esp + 0x60]
fucompp
fnstsw ax
and ah, 0x45
cmp ah, 0x40
jne 0x646583f2
mov eax, dword [esp + 0x260]
mov dword [esp + 0x178], eax
test edx, edx
je 0x6465854d
mov dword [esp + 0x1c], 0x6463c928
jmp 0x64658410
mov dword [esp + 0x1c], 0x646308c0
jmp 0x64658410
mov dword [esp + 0x1c], 0x64652e74
jmp 0x64658410
fstp st(0)
test edx, edx
je 0x6465858c
mov dword [esp + 0x1c], 0x64627774
mov dword [esp + 0x18], 0x64626e3c
mov dword [esp + 0x14], 0x64626e38
mov dword [esp + 0x10], 0x64626fec
lea eax, [esp + 0x90]
jmp 0x64658498
mov dword [esp + 0x1c], 0x64627010
mov dword [esp + 0x18], 0x64626e3c
mov dword [esp + 0x14], 0x64626e38
mov dword [esp + 0x10], 0x64626fec
lea eax, [esp + 0x90]
jmp 0x64658498
mov dword [esp + 0x1c], 0x64645c88
mov dword [esp + 0x18], 0x64656fac
mov dword [esp + 0x14], 0x6465703c
mov dword [esp + 0x10], 0x646569e8
lea eax, [esp + 0x188]
jmp 0x64658498