Function at 0x565370
Capabilities:
Encode data using base64
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xdcf52a
mov eax, dword fs:[0]
push eax
sub esp, 0xe0
mov eax, dword [0xe3c018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0xcc], esi
cmp byte [ebp + 0xc], 0
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0xd0], eax
je 0x56549f
mov eax, dword [edi]
mov esi, dword [eax + 8]
test esi, esi
je 0x56549d
nop dword [eax + eax]
mov eax, dword [esi + 4]
lea ecx, [ebp - 0xc8]
push str.transform
mov dword [ebp - 0xc8], eax
call fcn.004c63d0
test eax, eax
je 0x5653fe
mov esi, dword [esi]
test esi, esi
jne 0x5653d0
mov esi, dword [ebp - 0xcc]
jmp 0x56549f
push 0x38
lea eax, [ebp - 0xbc]
push 0
push eax
call fcn.00d9ac00
add esp, 0xc
lea ecx, [ebp - 0xbc]
push dword [ebp - 0xcc]
call fcn.00568bd0
push edi
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 0
call fcn.00566200
push dword [ebp - 0xd0]
lea ecx, [ebp - 0xbc]
push 0
push edi
call fcn.00565370
mov edx, dword [ebp - 0x88]
or esi, 0xffffffff
add edx, 0xfffffff8
mov edi, eax
cmp edx, 0xe3ce50
je 0x565473
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
cmp ecx, esi
jne 0x565473
push edx
call fcn.00d491c8
add esp, 4
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff8
cmp eax, 0xe3ce50
je 0x565496
lock xadd dword [eax], esi
dec esi
cmp esi, 0xffffffff
jne 0x565496
push eax
call fcn.00d491c8
add esp, 4
mov eax, edi
jmp 0x5661db
mov esi, ecx
mov ecx, dword [edi]
push 0xdf9e7c
lea ecx, [ecx + 0xc]
call fcn.004b0490
mov ecx, dword [edi]
test eax, eax
jne 0x5655ee
push ecx
mov eax, esp
mov dword [eax], 0xdf9f24
call fcn.004bb4a0
lea ecx, [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
call fcn.004c6420
cvtsd2ss xmm0, xmm0
push ecx
movss dword [ebp - 0x2c], xmm0
fld dword [ebp - 0x2c]
fstp dword [esp]
movss dword [ebp - 0x30], xmm0
call fcn.00dc3bee
cwde
add esp, 4
cmp eax, 2
je 0x5654fb
cmp eax, 1
jne 0x565503
xorps xmm0, xmm0
movss dword [ebp - 0x30], xmm0
mov ecx, dword [edi]
push ecx
mov eax, esp
mov dword [eax], 0xdf9f28
call fcn.004bb4a0
lea ecx, [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
call fcn.004c6420
cvtsd2ss xmm0, xmm0
push ecx
movss dword [ebp - 0xd0], xmm0
fld dword [ebp - 0xd0]
fstp dword [esp]
call fcn.00dc3bee
cwde
add esp, 4
cmp eax, 2
je 0x565553
cmp eax, 1
je 0x565553
movss xmm1, dword [ebp - 0xd0]
jmp 0x565556
xorps xmm1, xmm1
movss xmm0, dword [ebp - 0x30]
lea eax, [ebp - 0x60]
mov edx, edi
mov dword [ebp - 0x60], 0x3f800000
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x5c], 0
movss dword [ebp - 0x58], xmm1
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0x3f800000
movss dword [ebp - 0x4c], xmm0
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x14], 0
call fcn.00561fd0
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0
je 0x5655c4
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [esi + 4]
call fcn.005a9de0
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x3c]
add eax, 0xfffffff8
cmp eax, 0xe3ce50
je 0x5655e7
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
cmp ecx, 0xffffffff
jne 0x5655e7
push eax
call fcn.00d491c8
add esp, 4
mov eax, esi
jmp 0x5661db
add ecx, 0xc
push str.image
call fcn.004b0490
test eax, eax
je 0x565606
xor eax, eax
jmp 0x5661db
mov ecx, dword [edi]
push ecx
mov eax, esp
mov dword [eax], str.xlink:href
call fcn.004bb4a0
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
add eax, 0xfffffff8
cmp eax, 0xe3ce50
je 0x565628
lock inc dword [eax]
xor esi, esi
mov dword [ebp - 4], 2
mov dword [ebp - 0x38], esi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x84]
xorps xmm0, xmm0
mov dword [ebp - 0x64], esi
push 0x100
movups xmmword [ebp - 0x84], xmm0
movups xmmword [ebp - 0x74], xmm0
call fcn.004b3390
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc8], str.data:
call fcn.004b03d0
push eax
push str.data:
lea ecx, [ebp - 0x34]
call fcn.004c7020
test eax, eax
jne 0x565a07
push 0xdf3a40
lea ecx, [ebp - 0x34]
call fcn.004c6f30
push eax
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x34]
push 5
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x14], esi
push eax
call fcn.004b4ef0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
push ecx
mov ecx, eax
call fcn.004b5180
mov byte [ebp - 4], 7
or edi, 0xffffffff
mov ecx, dword [ebp - 0xc8]
add ecx, 0xfffffff8
cmp ecx, 0xe3ce50
je 0x5656e8
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, edi
jne 0x5656e8
push ecx
call fcn.00d491c8
add esp, 4
push 0xdf3a20
lea ecx, [ebp - 0x14]
call fcn.004c6f30
mov dword [ebp - 0x24], eax
lea ecx, [eax + 1]
push ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x14]
call fcn.004b4fd0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
push ecx
mov ecx, eax
call fcn.004b5180
push str.base64
mov ecx, eax
call fcn.004b0490
mov ecx, dword [ebp - 0x28]
test eax, eax
sete byte [ebp - 0xc1]
add ecx, 0xfffffff8
cmp ecx, 0xe3ce50
je 0x56574f
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, 0xffffffff
jne 0x56574f
push ecx
call fcn.00d491c8
add esp, 4
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff8
cmp ecx, 0xe3ce50
je 0x565776
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, 0xffffffff
jne 0x565776
push ecx
call fcn.00d491c8
add esp, 4
cmp byte [ebp - 0xc1], 0
je 0x565acd
push dword [ebp - 0x24]
lea eax, [ebp - 0x28]
mov dword [ebp - 0x20], 0
push 0
push eax
lea ecx, [ebp - 0x14]
call fcn.004b4ef0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 9
push ecx
mov ecx, eax
call fcn.004b5180
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff8
cmp ecx, 0xe3ce50
je 0x5657d1
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, 0xffffffff
jne 0x5657d1
push ecx
call fcn.00d491c8
add esp, 4
push str.image_png
lea ecx, [ebp - 0x20]
call fcn.004b0490
test eax, eax
je 0x5657f7
push str.image_jpeg
lea ecx, [ebp - 0x20]
call fcn.004b0490
test eax, eax
jne 0x5659d7
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x34]
inc eax
mov dword [ebp - 0x30], 0
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.004b4fd0
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xc
mov dword [ecx], str._t_n_r
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.004b5400
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0xc8]
add ecx, 0xfffffff8
cmp ecx, 0xe3ce50
je 0x565854
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, 0xffffffff
jne 0x565854
push ecx
call fcn.00d491c8
add esp, 4
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
cmp byte [eax], 0
je 0x565952
xor edi, edi
lea ecx, [ebp - 0x24]
call fcn.004b02f0
mov ecx, eax
lea eax, [ecx - 0x41]
cmp eax, 0x19
ja 0x56587b
mov ecx, eax
jmp 0x5658c4
lea eax, [ecx - 0x61]
cmp eax, 0x19
ja 0x565888
sub ecx, 0x47
jmp 0x5658c4
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x565895
add ecx, 4
jmp 0x5658c4
cmp ecx, 0x2b
jne 0x5658a1
mov ecx, 0x3e
jmp 0x5658c4
cmp ecx, 0x2f
jne 0x5658ad
mov ecx, 0x3f
jmp 0x5658c4
cmp ecx, 0x3d
jne 0x5659b2
mov ecx, 0x40
cmp edi, 1
jle 0x5659b2
mov byte [ebp + edi - 0x18], cl
inc edi
cmp edi, 4
jl 0x565865
mov eax, dword [ebp - 0x84]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x18]
mov cl, ah
shr cl, 4
shl al, 2
or cl, al
movzx eax, cl
lea ecx, [ebp - 0x84]
push eax
call edx
mov cl, byte [ebp - 0x16]
mov byte [ebp - 0xc1], cl
cmp cl, 0x40
jae 0x565946
mov eax, dword [ebp - 0x84]
shr cl, 2
mov edx, dword [eax + 0x14]
mov al, byte [ebp - 0x17]
shl al, 4
or cl, al
movzx eax, cl
lea ecx, [ebp - 0x84]
push eax
call edx
mov cl, byte [ebp - 0x15]
cmp cl, 0x40
jae 0x565946
mov eax, dword [ebp - 0x84]
mov edx, dword [eax + 0x14]
mov al, byte [ebp - 0xc1]
shl al, 6
or al, cl
lea ecx, [ebp - 0x84]
movzx eax, al
push eax
call edx
mov eax, dword [ebp - 0x24]
cmp byte [eax], 0
jne 0x565863
push 0x18
call fcn.00d493ca
mov esi, eax
add esp, 4
mov dword [ebp - 0xc0], esi
xorps xmm0, xmm0
movups xmmword [esi], xmm0
movq qword [esi + 0x10], xmm0
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x68]
test eax, eax
jne 0x56597e
mov eax, dword [ebp - 0x70]
jmp 0x56598e
cmp dword [eax + 4], ecx
jbe 0x56598c
mov eax, dword [eax]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [esi], vtable.juce::MemoryInputStream.0
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [ebp - 0x38], esi
mov ecx, dword [ebp - 0x30]
or edi, 0xffffffff
add ecx, 0xfffffff8
cmp ecx, 0xe3ce50
je 0x5659d7
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, edi
jne 0x5659d7
push ecx
call fcn.00d491c8
add esp, 4
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff8
cmp ecx, 0xe3ce50
je 0x565acd
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, 0xffffffff
jne 0x565acd
push ecx
call fcn.00d491c8
add esp, 4
jmp 0x565acd
mov ecx, dword [ebp - 0xcc]
lea eax, [ebp - 0xc8]
push eax
mov dword [ebp - 0x14], 0
call fcn.004b1ab0
push ecx
mov edx, esp
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x34]
mov dword [edx], ecx
lea ecx, [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.004b1b40
mov ecx, dword [ebp - 0xc8]
or edi, 0xffffffff
add ecx, 0xfffffff8
cmp ecx, 0xe3ce50
je 0x565a5f
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, edi
jne 0x565a5f
push ecx
call fcn.00d491c8
add esp, 4
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0
je 0x565acd
lea edx, [ebp - 0x14]
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0xc0]
call fcn.004c3500
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov byte [ebp - 4], 0x13
test al, 0x10
jne 0x565acd
push 0x20
call fcn.00d493ca
add esp, 4
mov dword [ebp - 0xc0], eax
xorps xmm0, xmm0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x14]
push ecx
movups xmmword [eax], xmm0
mov ecx, eax
movups xmmword [eax + 0x10], xmm0
call fcn.004b2260
mov edx, eax
mov ecx, dword [edx + 0x18]
cmp byte [ecx], 0
jne 0x565ac0
mov esi, edx
jmp 0x565aca
mov eax, dword [edx]
mov ecx, edx
push 1
xor esi, esi
call dword [eax]
mov dword [ebp - 0x38], esi
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff8
cmp ecx, 0xe3ce50
je 0x565af4
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, 0xffffffff
jne 0x565af4
push ecx
call fcn.00d491c8
add esp, 4
test esi, esi
je 0x56619a
mov ecx, esi
mov dword [ebp - 0x18], 0
call fcn.004dc800
test eax, eax
je 0x565b21
mov ecx, dword [eax]
push esi
mov edx, dword [ecx + 0x10]
lea ecx, [ebp - 0x18]
push ecx
mov ecx, eax
call edx
mov ecx, dword [ebp - 0x18]
jmp 0x565b26
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 0x16
test ecx, ecx
je 0x56619a
push pe_nt_image_headers32
call fcn.00d493ca
push pe_nt_image_headers32
mov edi, eax
push 0
push edi
mov dword [ebp - 0xc0], edi
call fcn.00d9ac00
add esp, 0x10
mov ecx, edi
call fcn.0055d5c0
mov edi, dword [ebp - 0x2c]
mov ecx, eax
mov edx, edi
mov dword [ebp - 0x14], eax
call fcn.00560e30
mov eax, dword [edi]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x565b87
xor edx, edx
lea ecx, [ebp - 0x84]
call fcn.004c6e10
mov edx, eax
jmp 0x565bb1
mov edx, dword [eax + 0x10]
test edx, edx
js 0x565b9d
lea ecx, [ebp - 0x84]
call fcn.004c6e10
mov edx, eax
jmp 0x565bb1
neg edx
lea ecx, [ebp - 0x84]
call fcn.004c6e10
mov byte [eax - 1], 0x2d
lea edx, [eax - 1]
lea eax, [ebp - 0x85]
sub eax, edx
lea ecx, [ebp - 0xc8]
push eax
call fcn.004b3800
add esp, 4
lea eax, [ebp - 0xc8]
push eax
push ecx
mov ecx, dword [ebp - 0x28]
mov eax, esp
mov dword [eax], str.height
lea eax, [ebp - 0xc0]
push eax
call fcn.004bb530
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
call fcn.004c6420
cvtsd2ss xmm0, xmm0
push ecx
movss dword [ebp - 0x28], xmm0
fld dword [ebp - 0x28]
fstp dword [esp]
movss dword [ebp - 0x30], xmm0
call fcn.00dc3bee
cwde
add esp, 4
cmp eax, 2
je 0x565c20
cmp eax, 1
jne 0x565c28
xorps xmm0, xmm0
movss dword [ebp - 0x30], xmm0
mov eax, dword [edi]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x565c45
xor edx, edx
lea ecx, [ebp - 0x84]
call fcn.004c6e10
mov edx, eax
jmp 0x565c6f
mov edx, dword [eax + 0xc]
test edx, edx
js 0x565c5b
lea ecx, [ebp - 0x84]
call fcn.004c6e10
mov edx, eax
jmp 0x565c6f
neg edx
lea ecx, [ebp - 0x84]
call fcn.004c6e10
mov byte [eax - 1], 0x2d
lea edx, [eax - 1]
lea eax, [ebp - 0x85]
sub eax, edx
lea ecx, [ebp - 0x28]
push eax
call fcn.004b3800
add esp, 4
lea eax, [ebp - 0x28]
push eax
push ecx
mov ecx, dword [ebp - 0x1c]
mov eax, esp
mov dword [eax], str.width
lea eax, [ebp - 0xd4]
push eax
call fcn.004bb530
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.004c6420
cvtsd2ss xmm0, xmm0
push ecx
movss dword [ebp - 0x1c], xmm0
fld dword [ebp - 0x1c]
fstp dword [esp]
movss dword [ebp - 0x20], xmm0
call fcn.00dc3bee
cwde
add esp, 4
cmp eax, 2
je 0x565cd4
cmp eax, 1
jne 0x565cdc
xorps xmm0, xmm0
movss dword [ebp - 0x20], xmm0
mov ecx, dword [edi]
push ecx
mov eax, esp
mov dword [eax], 0xdf9f24
call fcn.004bb4a0
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.004c6420
cvtsd2ss xmm0, xmm0
push ecx
movss dword [ebp - 0x24], xmm0
fld dword [ebp - 0x24]
fstp dword [esp]
movss dword [ebp - 0x1c], xmm0
call fcn.00dc3bee
cwde
add esp, 4
cmp eax, 2
je 0x565d21
cmp eax, 1
jne 0x565d29
xorps xmm0, xmm0
movss dword [ebp - 0x1c], xmm0
mov ecx, dword [edi]
push ecx
mov eax, esp
mov dword [eax], 0xdf9f28
call fcn.004bb4a0
lea ecx, [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
call fcn.004c6420
cvtsd2ss xmm0, xmm0
push ecx
movss dword [ebp - 0x24], xmm0
fld dword [ebp - 0x24]
fstp dword [esp]
call fcn.00dc3bee
cwde
add esp, 4
cmp eax, 2
je 0x565d70
cmp eax, 1
je 0x565d70
movss xmm0, dword [ebp - 0x24]
jmp 0x565d73
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xd4]
or edi, 0xffffffff
movss dword [ebp - 0x48], xmm0
add ecx, 0xfffffff8
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x3c], xmm0
cmp ecx, 0xe3ce50
je 0x565dbe
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, edi
jne 0x565dbe
push ecx
call fcn.00d491c8
add esp, 4
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff8
cmp ecx, 0xe3ce50
je 0x565de1
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, 0xffffffff
jne 0x565de1
push ecx
call fcn.00d491c8
add esp, 4
mov ecx, dword [ebp - 0xc0]
add ecx, 0xfffffff8
cmp ecx, 0xe3ce50
je 0x565e07
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, 0xffffffff
jne 0x565e07
push ecx
call fcn.00d491c8
add esp, 4
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0xc8]
add ecx, 0xfffffff8
cmp ecx, 0xe3ce50
je 0x565e31
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, 0xffffffff
jne 0x565e31
push ecx
call fcn.00d491c8
add esp, 4
cvttss2si ecx, dword [ebp - 0x30]
cvttss2si eax, dword [ebp - 0x20]
push ecx
push ecx
lea ecx, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.004dbe00
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0055d790
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
je 0x565e7d
mov eax, edi
lock xadd dword [ecx + 4], eax
dec eax
sete al
test al, al
je 0x565e7d
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
push ecx
mov eax, esp
mov dword [eax], str.preserveAspectRatio
call fcn.004bb4a0
lea ecx, [ebp - 0xc0]
push ecx
mov ecx, eax
call fcn.004b5180
mov ecx, eax
mov byte [ebp - 4], 0x1a
call fcn.00566cd0
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0055ca70
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0xc0]
add ecx, 0xfffffff8
cmp ecx, 0xe3ce50
je 0x565ee0
mov eax, edi
lock xadd dword [ecx], eax
dec eax
cmp eax, 0xffffffff
jne 0x565ee0
push ecx
call fcn.00d491c8
add esp, 4
cmp dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0x14]
je 0x56607f
lea eax, [ebp - 0xec]
push eax
call fcn.005540a0
mov ecx, dword [ebp - 0xcc]
movss xmm3, dword [ecx + 0x20]
movss xmm1, dword [ecx + 0x1c]
movaps xmm0, xmm3
mulss xmm0, dword [eax + 0xc]
movaps xmm2, xmm1
mulss xmm2, dword [eax]
movss xmm7, dword [ecx + 0x28]
mulss xmm7, dword [eax + 4]
addss xmm2, xmm0
movss xmm6, dword [ecx + 0x28]
movss xmm0, dword [eax + 0x10]
mulss xmm0, xmm3
mulss xmm6, dword [eax + 8]
movss dword [ebp - 0x2c], xmm2
movss xmm2, dword [eax + 4]
mulss xmm2, xmm1
addss xmm2, xmm0
movss xmm0, dword [eax + 8]
mulss xmm0, xmm1
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [ebp - 0x20]
mulss xmm0, xmm3
movss xmm3, dword [ecx + 0x28]
mulss xmm3, dword [eax]
addss xmm1, xmm0
movss dword [ebp - 0xd4], xmm2
addss xmm1, dword [ecx + 0x24]
movss dword [ebp - 0x20], xmm1
movss xmm1, dword [ecx + 0x2c]
movaps xmm0, xmm1
mulss xmm0, dword [eax + 0xc]
addss xmm3, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [eax + 0x10]
mulss xmm1, dword [eax + 0x14]
mov eax, dword [ebp - 0xd0]
addss xmm7, xmm0
movss dword [ebp - 0xc0], xmm3
addss xmm6, xmm1
movss xmm3, dword [eax + 4]
movss xmm2, dword [eax]
movaps xmm1, xmm3
mulss xmm1, dword [ebp - 0xc0]
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x2c]
addss xmm6, dword [ecx + 0x30]
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm7
mulss xmm3, xmm6
movss dword [ebp - 0x60], xmm1
movss xmm1, dword [ebp - 0xd4]
mulss xmm1, xmm2
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x20]
mulss xmm0, xmm2
movss xmm2, dword [eax + 0xc]
addss xmm3, xmm0
movss dword [ebp - 0x5c], xmm1
movaps xmm1, xmm2
mulss xmm1, dword [ebp - 0x2c]
addss xmm3, dword [eax + 8]
movss dword [ebp - 0x58], xmm3
movss xmm3, dword [eax + 0x10]
movaps xmm0, xmm3
mulss xmm7, xmm3
mulss xmm0, dword [ebp - 0xc0]
mulss xmm3, xmm6
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0xd4]
addss xmm0, xmm7
movss dword [ebp - 0x54], xmm1
movss dword [ebp - 0x50], xmm0
movss xmm0, dword [ebp - 0x20]
mulss xmm0, xmm2
addss xmm0, xmm3
addss xmm0, dword [eax + 0x14]
lea eax, [ebp - 0x60]
movss dword [ebp - 0x4c], xmm0
jmp 0x566178
lea eax, [ebp - 0x9c]
push eax
call fcn.005540a0
mov ecx, dword [ebp - 0xcc]
movss xmm0, dword [eax + 0x10]
mulss xmm0, dword [ecx + 0x20]
movss xmm1, dword [ecx + 0x1c]
mulss xmm1, dword [eax + 4]
movss xmm4, dword [eax + 0xc]
movss xmm3, dword [eax]
addss xmm1, xmm0
movss xmm2, dword [ecx + 0x28]
movss xmm0, dword [eax + 0x14]
movaps xmm6, xmm3
mulss xmm0, dword [ecx + 0x20]
mulss xmm3, dword [ecx + 0x1c]
movss dword [ebp - 0xc0], xmm1
movss xmm1, dword [eax + 8]
mulss xmm1, dword [ecx + 0x1c]
mulss xmm6, xmm2
mulss xmm2, dword [eax + 4]
addss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm4, dword [ecx + 0x20]
addss xmm1, dword [ecx + 0x24]
addss xmm3, xmm4
movss dword [ebp - 0xd4], xmm1
movss xmm1, dword [ecx + 0x2c]
mulss xmm0, xmm1
addss xmm6, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [eax + 0x10]
mulss xmm1, dword [eax + 0x14]
addss xmm2, xmm0
movss xmm0, dword [ecx + 0x28]
mulss xmm0, dword [eax + 8]
lea eax, [ebp - 0xec]
movss dword [ebp - 0xec], xmm3
movss dword [ebp - 0xe0], xmm6
addss xmm0, xmm1
movss dword [ebp - 0xdc], xmm2
movss xmm1, dword [ebp - 0xc0]
movss dword [ebp - 0xe8], xmm1
movss xmm1, dword [ebp - 0xd4]
movss dword [ebp - 0xe4], xmm1
addss xmm0, dword [ecx + 0x30]
movss dword [ebp - 0xd8], xmm0
mov ecx, dword [ebp - 0x14]
push eax
call fcn.00553dc0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x5661a1
mov eax, edi
lock xadd dword [ecx + 4], eax
dec eax
jne 0x5661a1
mov eax, dword [ecx]
push 1
call dword [eax]
jmp 0x5661a1
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x84]
call fcn.004b3460
test esi, esi
je 0x5661b8
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff8
cmp eax, 0xe3ce50
je 0x5661d8
lock xadd dword [eax], edi
dec edi
cmp edi, 0xffffffff
jne 0x5661d8
push eax
call fcn.00d491c8
add esp, 4
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00d491ba
mov esp, ebp
pop ebp
ret 0xc