Function at 0x54bad0
Capabilities:
Open clipboard

Disassembly:
sub esp, 0x70
mov eax, dword [0x568008]
xor eax, esp
mov dword [esp + 0x6c], eax
cmp byte [0x568022], 0
push ebx
push ebp
push esi
push edi
movss dword [esp + 0x24], xmm3
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x28], xmm1
movss dword [esp + 0x1c], xmm0
je 0x54bd52
cmp byte [0x56802a], 0
jne 0x54bd52
push 0x54be20
lea ecx, [esp + 0x30]
call fcn.004a4250
mov dh, 0x52
mov byte [esp + 0x17], 0
mov cl, 0x16
mov byte [esp + 0x10], dh
mov dl, 0x61
mov byte [esp + 0x17], 0
xor cl, dh
mov dword [esp + 0x5c], 0
mov al, 0x1b
mov byte [esp + 0x12], cl
mov bl, 0x39
mov dword [esp + 0x60], 0
mov ah, 0x3a
mov ch, 0x62
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x13], dl
xor ah, dh
mov byte [esp + 0x11], al
xor ch, dh
mov byte [esp + 0x14], bl
mov byte [esp + 0x16], ch
xorps xmm0, xmm0
lea ecx, [esp + 0x11]
mov byte [esp + 0x15], ah
movups xmmword [esp + 0x4c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x54bb81
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x54]
call fcn.004a2240
mov ch, 0x3c
mov byte [esp + 0x16], 0
mov cl, 8
mov byte [esp + 0x10], ch
mov dl, 0x6d
mov byte [esp + 0x16], 0
xor cl, ch
mov dword [esp + 0x44], 0
xor dl, ch
mov byte [esp + 0x12], cl
mov al, 0x70
mov byte [esp + 0x13], dl
mov bl, 0x7e
mov dword [esp + 0x48], 0
xor al, ch
xor bl, ch
mov ah, 0x4d
mov byte [esp + 0x11], al
xor ah, ch
mov byte [esp + 0x14], bl
xorps xmm0, xmm0
mov byte [esp + 0x15], ah
lea ecx, [esp + 0x11]
movups xmmword [esp + 0x34], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x54bbf0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x3c]
call fcn.004a2240
mov ah, 0x12
mov byte [esp + 0x15], 0
mov dl, 0x23
mov byte [esp + 0x10], ah
xor dl, ah
mov byte [esp + 0x15], 0
mov cl, 0x78
mov byte [esp + 0x13], dl
mov al, 0x2a
lea edx, [esp + 0x11]
xor cl, ah
mov bl, 0x44
xor al, ah
mov byte [esp + 0x12], cl
xor bl, ah
mov byte [esp + 0x11], al
mov byte [esp + 0x14], bl
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x54bc40
sub edx, ecx
lea eax, [esp + 0x11]
cmp dword [esp + 0x48], 0x10
lea ecx, [esp + 0x34]
push edx
cmovae ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
push eax
call fcn.004a23e0
add esp, 8
test al, al
je 0x54bd1e
mov bh, 0x61
mov byte [esp + 0x18], 0
mov dl, 0x54
mov byte [esp + 0x10], bh
mov al, 0x37
mov byte [esp + 0x18], 0
mov ah, 0x2a
mov ch, dl
xor al, bh
xor ah, bh
mov cl, 0xa
mov byte [esp + 0x11], al
xor cl, bh
mov byte [esp + 0x15], ah
xor ch, bh
mov byte [esp + 0x12], cl
mov dh, 0x28
mov byte [esp + 0x16], ch
mov bl, 0x2b
lea eax, [esp + 0x11]
xor dl, bh
lea ecx, [esp + 0x64]
xor dh, bh
mov byte [esp + 0x13], dl
xor bl, bh
mov byte [esp + 0x17], dh
push eax
mov byte [esp + 0x18], bl
call fcn.004a1bf0
mov dh, 0x19
mov byte [esp + 0x17], 0
mov al, 0x5b
mov byte [esp + 0x10], dh
mov ah, 0x6f
mov byte [esp + 0x17], 0
xor al, dh
xor ah, dh
mov cl, 0x5a
mov byte [esp + 0x11], al
mov ch, 0x4c
mov byte [esp + 0x15], ah
xor cl, dh
lea eax, [esp + 0x11]
xor ch, dh
mov byte [esp + 0x12], cl
mov dl, 0x2b
mov byte [esp + 0x16], ch
mov bl, 0x74
lea ecx, [esp + 0x64]
xor dl, dh
xor bl, dh
push eax
mov byte [esp + 0x17], dl
mov byte [esp + 0x18], bl
call fcn.004a1aa0
lea ecx, [esp + 0x64]
call fcn.004a1ba0
lea ecx, [esp + 0x34]
call fcn.004a1ba0
lea ecx, [esp + 0x4c]
call fcn.004a1ba0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x54bd4a
push eax
push dword [esp + 0x30]
call dword [sym.imp.MSVCP140.dll__Thrd_detach]
add esp, 8
test eax, eax
je 0x54bd52
push 1
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x54bd64
call dword [sym.imp.USER32.dll_CloseClipboard]
movss xmm2, dword [esp + 0x1c]
xorps xmm1, xmm1
xor eax, eax
xor ecx, ecx
xor ebx, ebx
xor esi, esi
comiss xmm2, xmm1
jb 0x54bdf3
nop
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x20]
divss xmm0, xmm2
cvttss2si ebp, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [esp + 0x28]
mulss xmm0, dword [esp + 0x24]
divss xmm1, xmm2
divss xmm0, xmm2
cvttss2si edi, xmm1
cvttss2si edx, xmm0
mov dword [esp + 0x10], edx
sub edx, ecx
mov ecx, ebp
sub ecx, eax
test edx, edx
jne 0x54bdc2
test ecx, ecx
je 0x54bdcd
call fcn.0054c200
movss xmm2, dword [esp + 0x1c]
mov ecx, edi
sub ecx, ebx
je 0x54bdde
call fcn.0054c550
movss xmm2, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
inc esi
mov eax, ebp
mov ebx, edi
movd xmm0, esi
cvtdq2ps xmm1, xmm0
comiss xmm2, xmm1
jae 0x54bd80
cvttss2si ecx, dword [esp + 0x84]
call fcn.0054c550
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004a6087
add esp, 0x70
ret